用户从输入URL到看到网页发生了什么?
一、在浏览器地址栏输入URL
二、浏览器查看缓存
1、如果资源未缓存,发起新请求
如果已缓存,检验是否处于有效期,资源处于有效期内直接提供给客户端,否则与服务器进行验证。
2、检验有效期通常有两个HTTP头进行控制Expires和Cache-Control:
(1)HTTP1.0提供Expires,值为一个绝对时间表示缓存有效期日期
(2)HTTP1.1增加了Cache-Control: max-age=,值为以秒为单位的最大有效时间
三、浏览器解析URL获取协议,主机,端口,path
四、浏览器组装一个HTTP请求报文
五、浏览器获取主机ip地址(DNS查询),浏览器缓存、本地host文件等。
六、建立TCP链接,包含三次握手
七、服务器处理,如处理缓存信息(304),资源文件发送给客户端
八、浏览器渲染。解析HTML文档,构件DOM树,下载资源,构造CSSOM树,加载执行js脚本。
js加载执行参考:http://www.cnblogs.com/mengfangui/p/8631108.html
2018.12.24 补充一个图。
第一步、浏览器若存储了本地址会跳转到另外一个地址时,直接跳转。
作者:孟繁贵 Email:meng010387@126.com 期待共同进步!