为什么忽略max-age?

时间:2015-12-27 17:41:44

标签: html caching

我有一个简单的html页面,如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="Cache-Control" content="public, must-revalidate">
    <meta http-equiv="Cache-Control" content="max-age=88000" />
    <script type="text/javascript" src="/js/index.js"></script>
....

但是,当我在FF Web控制台中检查index.js文件时,我看到Cache-Control: "max-age=0"。为什么这样,我该如何解决?谢谢!

1 个答案:

答案 0 :(得分:2)

没有理由期望HTML文件中的meta标记会影响为其引用的JavaScript文件发送的HTTP标头(甚至是为HTML文件本身发送的HTTP标头,就此而言)。

HTTP标头由正在使用的Web服务器(或更常见的HTTP服务器)软件设置,可能受服务器上系统范围或目录范围设置的影响。很久以前,我们的想法是某些meta标记可能影响HTML文档本身的HTTP标头,但这通常不会在服务器中实现。相反, browsers 可能会使用一些meta标记,并且就像发送了相应的HTTP标头一样,但是a)这仅适用于HTML文档本身,如果有的话,b)它不能可以看到检查实际发送的HTTP头的工具。