1

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

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

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

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

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

UTF-8

4

2 回答 2

5

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

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

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

于 2013-06-14T23:12:58.250 回答
2

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

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

通用 Internet 协议指定如何通知客户端内容类型(在 HTTP 标头、电子邮件消息标头等中),对于通过 HTTP 传输的 HTML 文档,服务器应将内容类型宣布为 text/html(或为正版 XHTML 定义的内容类型,如果要进行严厉的 XML 错误处理和其他严重后果)。如果没有这些信息,浏览器将不得不猜测内容类型,并且它们可能会猜错

于 2013-06-15T12:00:38.223 回答