http缓存js,css和图像

时间:2018-03-25 05:58:24

标签: http caching browser-cache

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

1 个答案:

答案 0 :(得分:0)

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

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

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

  

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

     

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