http缓存js,css和图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http缓存js,css和图像相关的知识,希望对你有一定的参考价值。

在http缓存期间,js,css和images都存储在客户端浏览器中,以便加载看起来更快。当浏览器显示缓存中的内容时,请求是否仍然转到服务器以获取缓存中的相同内容?

答案

缓存的重点是避免连接到后端服务。 :)

正如您所说,浏览器缓存暂时存储数据,以加快浏览器中的渲染过程。缓存数据的时间长度取决于服务器使用数据发回的response headers以及特定于浏览器的规则。

其中一个标题的示例是ETag,来自Google's explanation of HTTP Caching

假设自初始提取以来已经过了120秒,并且浏览器已发起对同一资源的新请求。首先,浏览器检查本地缓存并找到先前的响应。不幸的是,浏览器无法使用之前的响应,因为响应现已过期。此时,浏览器可以调度新请求并获取新的完整响应。但是,这是低效的,因为如果资源没有改变,那么没有理由下载已经在缓存中的相同信息!

这就是ETag标题中指定的验证令牌旨在解决的问题。服务器生成并返回任意令牌,该令牌通常是文件内容的散列或其他指纹。客户端不需要知道指纹是如何生成的;它只需要在下一个请求时将其发送到服务器。如果指纹仍然相同,则资源未更改,您可以跳过下载。

以上是关于http缓存js,css和图像的主要内容,如果未能解决你的问题,请参考以下文章

正确设置 HTTP 标头以强制缓存 JS、CSS 和 PNG 文件

HTTP 304 客户端缓存优化的作用和用法

[Web移动端H5页面制作] 使用localStorage缓存js和css文件

将css和js缓存到localStorage缓存,提高网页响应速度

HTTP 缓存策略

将jquery和公共样式缓存到localStorage,可以减少Http请求,从而优化页面加载时间