1.浏览器的从接收url到渲染的过程
浏览器在用户输入url之后会先对url进行dns解析,dns会按照浏览器本地 > 本地电话host >dns服务器这个顺序去查找对应的ip,找到ip后就会向服务器发出请求,服务器在收到请求之后会把对应的静态文件返回,浏览器解析html的时候会按照从上到下,遇到css加入异步的请求中,不阻碍继续解析,遇到script要看script标签是否标识要异步,如果是就先进行异步加载继续解析html,如果是script设有defer标签就是等到dom解析完再解析js,如果是async就是加载完即解析,最终dom解析完会生成dom树,css树,浏览器渲染内核会将这两颗树结合生成dom渲染到浏览器中
2.浏览器的存储
浏览器的存储有localStorage、sessionStorage和cookie三种,主要区别在于存储大小、失效时间不同,cookie最小一般不超过4k,localStorage和sessionStorage是大于5M的,localStorage如果手动不清楚或者电脑不关就有效,sessionStorage是在当前会话期间有效,cookie是接口设置
3.浏览器的缓存策略
这个一般我们会去看network中每个资源的请求情况,请求资源有些是从服务端获取,有些是
从from memory cache即浏览器内存中获取,有些是从from disk cache即浏览器硬盘中获取,设置了强缓存且其在有效范围内就是会从浏览器缓存中获取(Expires和Cache-Control),Cache-Control优先级比Expires高
协商缓存就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程,主要有以下两种情况
If-Modified-Since则是客户端再次发起该请求时,携带上次请求返回的Last-Modified值,通过此字段值告诉服务器该资源上次请求返回的最后被修改时间。服务器收到该请求,发现请求头含有If-Modified-Since字段,则会根据If-Modified-Since的字段值与该资源在服务器的最后被修改时间做对比,若服务器的资源最后被修改时间大于If-Modified-Since的字段值,则重新返回资源,状态码为200;否则则返回304,代表资源无更新,可继续使用缓存文件
4.浏览器的安全