当我从w3c验证器将html5验证器传递到我的网站时,我遇到了问题。接下来是错误:
Bad value Content-Script-Type for attribute http-equiv on element meta
<meta http-equiv="Content-Script-Type" content="text/javascript" >
Bad value expires for attribute http-equiv on element meta
<meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT" >
Bad value pragma for attribute http-equiv on element meta
<meta http-equiv="pragma" content="no-cache" >
Bad value Cache-Control for attribute http-equiv on element meta.
<meta http-equiv="Cache-Control" content="no-cache" >
传递html5验证程序的元标记的正确值是什么?
答案 0 :(得分:7)
对于HTML5,您可以在标题中使用缓存清单文件。 这是一个如何使用的示例: http://www.w3.org/TR/html5/browsers.html#manifests
此外,您不强制使用此缓存:
<meta http-equiv="expires" content="0">
这是一个关于如何使用缓存清单文件的好教程: https://www.html5rocks.com/en/tutorials/appcache/beginner/#toc-manifest-file-creating
答案 1 :(得分:7)
接受的答案是错误的! This是一个很好的答案。
引用Alohci:
将缓存指令放入元标记中并不是一个好主意,因为虽然浏览器可能会读取它们,但代理却不会。因此,它们无效,您应该将缓存指令作为真正的HTTP标头发送。
附录: 对于Apache和.htaccess,您可以使用
'\0'
PHP有header_sent()和header()函数。
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault value or
ExpiresByType text/css "access plus 1 month"
...
</IfModule>
重点是缓存指令应该在标头中。不在html文件中。