如何从缓存中获取图像,css,js(http状态为200(缓存)而不是304)

How to fetch images, css, js from cache (with http status 200 (cache) not 304)

本文关键字:缓存 状态 js 获取 图像 css http      更新时间:2023-09-26

我有网页引用了大量的JS,图像文件。 当页面第二次加载时,304 请求将进入服务器。我想获取缓存对象的 http 200(缓存)状态而不是 304。

我正在使用 asp.net 4,即 7。

设置到期标头不起作用,它仍然发送 304 个请求。我想要 http 状态 200(缓存)。

如果有任何技术,请告诉我。

您说过设置到期时间无济于事,但如果您设置了正确的标头,则确实如此。

这里有一个很好的例子:谷歌的图书馆托管。以下是Google发回的(相关)标头,如果您要求提供库的完全限定版本(例如,jQuery 1.7.2,而不是jQuery 1.或jQuery 1.7.):

日期:2012年6月7日 星期四 14:43:04 GMT缓存控制:公共,最大年龄=31536000到期:星期五, 07 六月 2013 14:43:04 GMT

Date并不真正相关,我只是包含它,以便您知道上面的标头是何时生成的。如您所见,Cache-Control已显式设置为一年max-ageExpires标头还指定了一年后的到期日期。对同一完全限定库的后续访问(一年内)甚至不会导致对服务器If-Modified-Since请求,因为浏览器知道缓存的副本是最新的。

RFC 2616 中对 HTTP 1.1 中缓存的描述应该会有所帮助。