gpt4 book ai didi

php - 如何更改谷歌浏览器的接受标题?

转载 作者:行者123 更新时间:2023-12-04 04:41:13 24 4
gpt4 key购买 nike

我想看到如果我向浏览器发送无效(根据 XHTML 标准)标记会发生的错误。我正在使用 google chrome作为浏览器,apache作为服务器和 php作为脚本语言。我用这样的行创建了一个脚本:

header('Content-type:  application/xhtml+xml');

$content = <<< XHTML
<!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">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<title>XHTML</title>
</head>
<BODY>
<P>Lorem ipsum dolor sit amet...</P>
</BODY>
</html>
XHTML;

echo $content;

应该是不正确的,因为 BODY从大写字母。
但我得到了正确的结果,因为我看到了 google chrome接受这样的 mime 类型:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

所以它将结果解释为 text/html一切都很好。

我想让这个文件无效。我如何删除 text/html来自 google chrome 接受的标题?还是我做错了什么?

UPD
当我删除关闭 BODY标签,我可以看到一个错误。似乎浏览器并不关心这些小错误。

最佳答案

你误诊了问题。

  • accept header 告诉服务器 HTML 和 XHTML 同等优先。
  • 您的脚本完全忽略接受 header 并发送 XHTML 内容类型
  • XML 解析器不会在格式正确的文档上抛出解析错误,即使它们无效
  • 当前的浏览器(据我所知,我已经有一段时间没有尝试过)如果它们得到格式不正确的 XHTML(因为告诉最终用户页面作者创建了一个类型是,99/100 次,无益)。

  • 如果要检测有效性错误,请使用 validator (这是一种旨在检测它们的工具)而不是浏览器(这是一种旨在呈现网页并从作者错误中恢复的工具)。

    关于php - 如何更改谷歌浏览器的接受标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18869823/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com