html标签中字符大小写的规则是什么?
我有一种情况,我需要在我的网站上强制禁止缓存。我一直在使用所有html标签和属性的所有小写字母(在它不区分大小写的印象下)。到目前为止,我还没有发布任何文件。
我发现以下适用于IE7:
<META HTTP-EQUIV="Expires" CONTENT="-1">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
虽然这不是:
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Pragma" content="no-cache">
仅供参考我使用PHP并且还包含以下内容,但如果没有HTML元标记,它似乎也无法运行:
header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header("Content-Type: text/html; charset=UTF-8");
编辑(已添加):我们有以下文档类型(我必须承认,我不知道这意味着什么或它的相关性)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
答案 0 :(得分:1)
您是否尝试过其他版本的IE? XHTML is时,HTML不区分大小写。这是W3schools says about HTML。
HTML提示:使用小写标记
HTML标记不区分大小写:
与
相同。许多网站 使用大写HTML标记。
W3School使用小写标签,因为 万维网联盟(W3C) 推荐HTML 4中的小写,和 将来需要小写标签 (X)HTML的版本。
来自freedom_razor的帖子codingforums表明IE7不喜欢小写元标记。也许您可以使用javascript来检测浏览器并相应地设置元标记?
答案 1 :(得分:0)
嗯...... META标签根本不应该真正起作用,因为你已经发送了真正的HTTP标头,它应该覆盖指定为元标签的标头(HTTP-EQUIV就是这个名字所说的 - 替代HTTP标头不可用时。)
另外......在HTTP标题中,您说“Expires”=“Mon,20 Dec 1998 01:00:00 GMT”,但在元标记中指定“Expires”=“ - 1”。所以你不确定你想要的Expires值是什么?
除此之外:缓存控制应仅使用HTTP标头实现 - 您还可以控制图像缓存的方式(图像文件中没有元标记)。