浏览器原理 缓存 前端浏览器知识点

一.浏览器原理
在浏览器地址栏输入URL

1.浏览器会查看缓存,是否过期,没有过期,直接拉取本地缓存进行解码。过期了判断请求头是否有Etag 否是携带if-none-match,是则协商缓存,然后拉取缓存解码。如果无Etag,则判断是否有last-modifind,是否携带if-modfiind-since,是则协商缓存,然后拉取缓存解码。以上两种都没有,则直接请求。
2.浏览器会解析url获取协议、主机、端口、path
3.浏览器组装一个http(get)的报文请求。
4.创建tcp连接、三次握手。(不解释了,网上太多)
5.tcp连接建立后,就会发送http请求、
6.服务端接收请求后,就会解析请求的服务程序,会对数据库进行查询等操作
7.浏览器接收到http的回响后,就进行4次挥手。(不解释了,网上太多)
8.根据不同的情况返回不同的状态码。
9.如果响应的资源可以缓存,就缓存起来。(通过设置expires、Cache-Control 、Etag等 同时确认是本地缓存还是协商缓存 )
10.对相应进行解码,解析html文档,生成dom树,构造css树,根据DOM树和CSSOM树构建渲染树 然后执行js 脚本。显示页面。

缓存新鲜度:expires 告诉浏览器缓存是否过期 展示过期时间
Cache-Control 有值的时候不访问服务器直接从浏览器缓存取值,no-cache的时候表示浏览器无缓存。
浏览器原理 缓存 前端浏览器知识点_第1张图片

你可能感兴趣的:(笔记,html5,vue.js,css)