简单讲讲访问一个网页的过程
今天我想梳理访问一个网页发生的故事。
1.首先,访问一个网页,就要输入该网页的地址,就是域名(如www.baidu.com)
2.通过输入的域名,进行DNS解析(域名解析)从而找出网页的ip地址(如192.168.1.1)
3.浏览器与该服务器通过三次握手协议建立连接(tcp协议),这里可以通过本机缓存的cookies状态信息,保持上一次连接状态
(网上找的图)
4.浏览器给服务器发送HTTP请求内容(HTTP协议)
(随意抓一个包当例子)
这里就是前端需要向后台请求数据发送的报文
5.服务器返回html数据
这里第一行的 200 ok 表示请求成功服务器返回数据
6.浏览器显示html页面
在浏览器没有完全接受全部html文档时就已经开始显示这个页面了
7.浏览器获取嵌入在HTML的对象
在浏览器显示HTML文档时,会根据html文档内容重新发送请求获取内嵌的对象,如图片,css、js文件等,所以有时就会出现页面延迟
8.浏览器发送异步请求
就算页面完成,浏览器仍和服务器保持联系(通过时长轮询保持连接)
9.关闭浏览器,浏览器与服务器进行四次握手协议关闭链接
(网上盗图)