web请求过程,DNS, CDN

看深入分析javaweb技术内幕,做个摘抄总结B/S(Browser/Server)网络架构,基于统一的应用层协议HTTP来交互数据,HTTP采用无状态的短连接的通信方式,通常情况下,一次请求就完成了一次数据交互,也对应一个业务逻辑。然后连接就断开了。这种情况下,相比长链接,服务器能够同时服务更多的用户。B/S架构大多要求满足海量用户的访问请求,同时保持用户请求的快速响应。请求流程...
摘要由CSDN通过智能技术生成

看深入分析javaweb技术内幕,做个摘抄总结

B/S(Browser/Server)网络架构,基于统一的应用层协议HTTP来交互数据,HTTP采用无状态的短连接的通信方式,通常情况下,一次请求就完成了一次数据交互,也对应一个业务逻辑。然后连接就断开了。这种情况下,相比长链接,服务器能够同时服务更多的用户。

B/S架构大多要求满足海量用户的访问请求,同时保持用户请求的快速响应。

请求流程如下:

1,用户浏览器输入URL,www.xx.com。
2,浏览器请求DNS把这个URL的域名部分(www.xx.com)解析成对应的IP。
3,浏览器通过ip去寻找对应的服务器地址,向服务器发起一个get请求。
4,这时的服务器地址,可能是一个负载均衡设备,负责平均分配所有用户的请求,指定真实处理请求的服务器,比如Tomcat/Jetty/JBoos服务器
5,Tomcat/Jetty/JBoos服务器收到请求后,会对请求需要的数据类型进行判断,是存储在分布式缓存(比如redis)里,还是静态文件(文件系统)中,还是数据库中,去获取对应的数据后,把处理好的数据返回给浏览器。
6,浏览器接收到数据,并且解析,解析数据的时候可能会发现,还需要一些静态资源,(如CSS,JS或者图片),于是又再次发起HTTP请求,重复3-4的过程。
7,服务器这时候把请求通过反向代理,交由CDN去完成静态资源的请求。
8,浏览器接收并缓存静态资源。

HTTP解析

常见的HTTP请求头

请求头 说明
Accept-Charset 用于指定客户端接受的字符集
Accept-Encoding 用于指定可接受的内容编码,如Accept-Encoding:gzip.deflate
Accept-Language 用于指定一种自然语言,如 Accept-Language:zh-cn
Host 用于指定被请求资源的Internet主机和端口号,如Host:www.taobao.com
User-Agent 客户端将它的操作系统,浏览器和其他属性告诉服务器
Connection 当前连接是否保持,如Connection:Keep-Alive
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值