B/S架构和C/S架构的区别

C/S:

  • 大多数传统C/S互联网应用程序采用的长连接的交互模式

B/S:

  • 基于统一的应用层协议HTTP来交互数据,HTTP协议采用无状态的短连接的通信方式(通常情况下,一次请求就完成一次数据交互,通常也对应一个业务逻辑,然后这次通信就断开了,采用这种方式为了能够同时服务更多用户,因为当前互联网应用每天会处理上亿的用户请求,不可能每个用户访问一次以后就一直保持住这个连接)
  • 基于HTTP协议特点,目前B/S网络架构大都采用类似下面所示设计(既要满足海量用户的访问请求,又要保持用户请求的快速响应,所以现在的网络架构越来越复杂)
用户输入url到访问到页面经历了什么? 当用户在浏览器里输入https://game.xiaomi.com/这个url时候. 首先会请求DNS把这个域名解析成对应的ip地址在互联网找到对应的服务器.向这个服务器发一个get请求,由这个服务器决定返回默认数据资源给用户.在服务器端还有更复杂的业务逻辑:服务器可能有很多台,到底指定哪台来处理请求,还需要负载均衡来平均分配所有用户请求,还有请求的数据是储存在分布式缓存里面还是一个静态文件中,或是在数据库里.当数据返回浏览器时,浏览器解析数据发现还有一些静态资源(如css,js或者图片)会发起另外的http请求,而这些请求可能会在cdn上,那么cdn服务器又会处理这个用户的请求.

  • 不管网络架构如何变化,但是始终有一些固定不变的原则需要遵循.
  • 互联网所有资源都要用一个url来表示.url就是统一资源定位符,如果你要发布一个或者一个资源到互联网.那你首先有一个独一无二的URL
  • 必须基于HTTP协议与服务端交互
  • 数据展示必须在浏览器中进行.
阅读 106

推荐阅读
镜心的小树屋
用户专栏

方寸湛然GitHub组织地址:[链接]

46 人关注
122 篇文章
专栏主页