【问题标题】:http caching of js, css and imagesjs、css和图片的http缓存
【发布时间】:2018-09-03 12:10:06
【问题描述】:

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

【问题讨论】:

    标签: http caching browser-cache


    【解决方案1】:

    缓存的全部意义在于避免连接到后端服务。 :)

    浏览器缓存是临时存储数据的,如您所说,以加快浏览器中的渲染过程。数据缓存多长时间由服务器与数据一起发回的response headers 以及特定于浏览器的规则确定。

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

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

    这就是 ETag 中指定的验证令牌的问题 标头,旨在解决。服务器生成并返回一个 任意令牌,通常是哈希或其他指纹 文件的内容。客户不需要知道如何 生成指纹;它只需要将它发送到服务器上 下一个请求。如果指纹还是一样,那么 资源没有变化,你可以跳过下载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多