![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
浏览器
文章平均质量分 60
batype
付出多少,回报就有多少,永远它们是成正比的。
展开
-
对浏览器的缓存机制的理解
下一次加载资源时,由于强制缓存优先级较高,先比较当前时间与上次返回 200 的时间差,如果没有超过 cache-control 设置的 max-age,则没有过期,并命中强缓存,直接从本地读取数据资源。服务器收到请求后,优先根据 Etag 的值判断被请求的文件有没有做修改,Etag 值一致则没有修改,命中协商缓存,返回 304;如果服务器收到的请求没有 Etag 值,则将 If-Modified-Since 和被请求文件的最后修改时间作对比,一致则命中协商缓存,返回 304;原创 2023-08-22 23:03:26 · 74 阅读 · 0 评论 -
如何实现浏览器内多个标签页之间的通信?
实现多个标签页之间的通信,本质上都是通过中介者模式来实现的。因为标签页之间没有办法直接通信,因此我们可以找一个中介者,让标签页和中介者进行通信,然后让这个中介者来进行消息的转发。原创 2023-08-22 22:44:05 · 154 阅读 · 0 评论 -
浏览器渲染进程的线程有哪些
当界面需要重绘或由于某种操作引发回流时,该线程就会执行。需要注意的是,由于浏览器对跨域请求进行了限制,在异步 HTTP 请求线程中发起的跨域请求需要经过浏览器的安全机制进行处理,一般需要设置相关的请求头或者使用 JSONP 等技术来解决。:GUI 渲染线程和 JS 引擎线程是互斥的,当JS 引擎执行时GUI线程会被挂起,GUI 更新会被保存在一个队列中等到JS 引擎空闲时立即被执行。:GUI 渲染线程与 JS 引擎线程的互斥关系,所以如果JS 执行的时间过长,会造成页面的渲染不连贯,导致页面渲染加载阻塞。原创 2023-08-11 17:23:28 · 349 阅读 · 0 评论