我试图了解是否可以避免对某些嵌入式对象的请求,直接从缓存中加载它们而不询问 Web 服务器是否有效(我不希望 Web 服务器以 304 http 状态响应我代码)有可能吗?expire标头是否适用于这种方式?如何?
当然: 要求:
<script scr="my_js.php"></script>
回复:
<? header("HTTP/1.1 304 Not Modified");
header("Expires: Mon, 31 Dec 2035 12:00:00 gmt");
header("Cache-Control: max-age=".(60*60*24*365));
echo "//this is a simpe example"; ?>
解决了
浏览器仅在您第一次打开页面(新选项卡或新浏览器窗口)时从其缓存中加载资源,而不向 Web 服务器询问它们。
其他时候浏览器总是向服务器询问有关其缓存中保存的资源的信息。然后,Web 服务器响应 200 或 301。