Html 为什么浏览器会解析<&燃气轮机&引用;作为「<;!---&燃气轮机&引用;?

Html 为什么浏览器会解析<&燃气轮机&引用;作为「<;!---&燃气轮机&引用;?,html,Html,我有一个包含以下HTML代码的文件: <p><? comment ?></p> Curl返回正常响应: $ curl file:///path/to/the/file.html <p><? comment ?></p> $curlfile:///path/to/the/file.html 但是,当我用Firefox 69或Chrome 77解析该响应时,没有显示任何内容,因为HTML代码如下所示: <htm

我有一个包含以下HTML代码的文件:

<p><? comment ?></p>

Curl返回正常响应:

$ curl file:///path/to/the/file.html
<p><? comment ?></p>
$curlfile:///path/to/the/file.html

但是,当我用Firefox 69或Chrome 77解析该响应时,没有显示任何内容,因为HTML代码如下所示:

<html><head></head><body><p><!--? comment ?--></p></body></html>

我觉得很奇怪。为什么会这样


谢谢。

这是HTML标记化规则的一部分

pSo您的代码?/code字符被作为已知错误处理,然后解析器切换到,这将把所有内容都放在注释标记中,直到下一个代码>
字符。

我怀疑,由于它是无效的HTML,浏览器正在尽最大努力找出它的意图,就像处理任何无效的HTML一样。在本例中,它将其解释为注释。@潜伏者你是说
无效吗?@潜伏者
不是无效的。这是一个自动关闭的
foo
标记,带有
bar
属性,没有值。@kaido有趣。不过,它仍然有效。空间似乎并不重要;事实上,它从来没有被解释为自动关闭。@SebastianSimon invalid是一个糟糕的词语选择。它是有效的,但不是可识别的标记。