一、b/s架构的好处
b/s架构基于统一的http协议进行前后台的数据交互。
http采用无状态的短连接的通信方式,一次请求完成一次数据交互。之后就断开了。采用这种方式可以使得服务器服务更多的用户。
二、浏览器发起一个请求(浏览器回车后具体发生了什么)
1.浏览器输入url(唯一标识网络服务器资源),回车
2.浏览器发送http请求,(http协议是tcp/ip的连接方式)
3.进行域名(url)dns解析、将对应的域名解析为ip.
4.与目标服务器进行socket连接。一个socket含有源ip,端口,目标ip,端口,经过路由物流链路连接目标服务器
5.到达目标服务器,服务器端可能会有负载均衡设备来平均分配所有的用户请求。在请求到达服务器后,会经过一些复杂的业务逻辑来处理用户请求。请求的数据可能在三个地方:
分布式缓存系统,文件系统或者数据库中。从其中取出数据返回给浏览器。
6.浏览器收到服务器的返回数据进行解析,发现有一部分静态资源(css,js,img)的情况,再次发送请求去获取这些静态资源。这些静态资源很有可能是在CDN上,如果在的话CDN服务器会再次处理用户的请求。分配到最近的一个存储静态资源的cdn节点。
7.最终在浏览器端看到完整的网页。
三、http解析
一般浏览器f12可以查看一次请求的具体信息
调试页面的过程中常会发现浏览器有缓存,一般这时按ctrl+f5解决(但是个人感觉很多时间根本还是有缓存)。ctrl+f5时会在请求头部加pragma:no-cache,Cache_Control:no-cache
四,cdn工作机制
工作机制
CDN即内容分发网络。通过现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需要的内容,提高用户网站的响应速度。
负载均衡
对工作任务进行平衡、分摊到多个操作单元上去,共同完成任务。
三种架构:
1.链路负载均衡
由DNS解析来完成负载均衡,用户直接访问目标服务器,而不需要经过其他的代理服务器,通常访问速度会更快。
缺点:一旦某台服务器挂掉,由于用户本地和Local DNS都有缓存,缓存没有及时更新,则造成用户无法访问这个域名。
2.集群负载均衡
硬件负载均衡:由一台专门的硬件设备负责转发请求,太贵一般公司用不起,但是性能很好
软件负载均衡:由多台代理服务器组成。网络延时较长。
3.操作系统负载均衡
利用操作系统级别的软中断或者硬件中断来完成。
小菜鸟基本上联系不到应用中了。。。