最佳答案
它们在规范中是明确可选的(因此文档仍然有效).
原文链接:https://www.f2er.com/html/426241.html这是自original spec(其中<!ELEMENT HTML OO((HEAD | BODY |%oldstyle)*,PLAINTEXT?)>,OO表示开始标记可选,结束标记可选)到current spec(表示“如果html元素中的第一个内容不是注释,则可以省略html元素的开始标记.如果html元素后面没有注释,则可以省略html元素的结束标记.”).
它们仅在XHTML中是必需的,因为XML没有可选标记的概念.
我从未见过任何浏览器或用户代理无法在HTML文档中正确处理它们. (请注意,虽然标签是可选的,但元素不是,因此即使标签丢失,浏览器也会插入HTML,HEAD和BODY元素,因此尝试在DOM中找到它们的任何脚本仍然可以工作).