http缓存js,css和图像

问题描述 投票:0回答:1

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

http caching browser-cache
1个回答
0
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.