HTML5需要哪些元标记?

时间:2013-06-14 23:11:00

标签: html html5

这是我的HTML5网络应用程序的开始:

<!DOCTYPE html>
<html>
  <head>
    <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>

是否需要元内容标记。 HTML / UTF-8是默认的吗?

我刚刚删除了html标记中的命名空间,因为这不是必需的。

想知道我是否可以删除元标记。

UTF-8

2 个答案:

答案 0 :(得分:5)

是;通常这只是HTML5中的<meta charset='utf-8'>,因为实际的内容类型总是由相应的HTTP标头决定:

<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>

可以继续使用您已有的内容,但内容类型必须text/html,后跟字符编码才能验证为HTML5。为简单起见,请使用新推荐的语法。有关详细信息,请参阅W3C HTML5 spec

答案 1 :(得分:2)

这里有两个不同的问题:内容类型(媒体类型,MIME类型)和字符编码(“charset”)。对于后者,请参阅<meta charset="utf-8"> vs <meta http-equiv="Content-Type">。请注意,HTML中的字符编码没有通用默认值,meta标记只是指定编码的一种方式,可能会受到HTTP标头或BOM的限制。

但问题的标题是“HTML5是否需要设置内容类型?”,答案是它不需要在HTML文档中设置它不能在HTML文档中设置。如果某些软件解析meta标记并将其解释为具有特定含义,则它已决定将该文档作为HTML文档处理。

通用Internet协议指定客户端如何获知内容类型(在HTTP标头,电子邮件标题等中),对于通过HTTP传输的HTML文档,服务器应将内容类型公布为text / html(或者作为为真正的XHTML定义的内容类型,如果您想要Draconian XML错误处理和其他严重后果)。没有这些信息,浏览器将不得不猜测内容类型,他们可能猜错了