HTML5中的Meta字符集标签

在HTML5中设置字符编码

在引入HTML5之前,在元素请求的文档上设置字符编码以写下下面所示的有些冗长的行。 如果您在网页中使用HTML4,则这是Meta Charset元素:

在这个代码中注意到你在content属性周围看到的引号是很重要的: content = text / html; charset = iso-8859-1 。 像所有HTML属性一样,这些引号定义了属性的值,表示整个字符串text / html; charset = iso-8959-1是这个元素的内容 。这是正确的HTML,它是如何写这个字符串的。 它也很笨重,很难看! 这也不是你可能记得的事情! 在大多数情况下,Web开发人员必须将这些代码从一个站点复制并粘贴到他们正在开发的任何新代码中,因为从头开始写这个代码需要很多。

HTML5删除额外的东西"

HTML5不仅为该语言增加了许多新元素 ,而且大大简化了HTML的许多语法,包括Meta Charset元素。使用HTML5,您可以添加字符编码,使用META元素的易于记忆语法你看到下面:

将该简化语法与本文开头所写的内容(用于HTML4的旧语法)进行比较,您会发现编写和记忆HTML5版本确实更容易。 您不必将现有网站中的内容复制并粘贴到您正在处理的任何新内容中,这绝对是您作为前端Web开发人员所记得的东西。 这种时间节省很多不多,但是当您考虑HTML5简化的其他语法区域时,节省的成本就会加起来!

始终包含字符编码

即使您不打算使用任何特殊字符 ,也应该为您的网页始终包含字符编码。 如果您不包含字符编码,则您的网站会受到使用UTF-7的跨站点脚本攻击的攻击。

在这种情况下,anattacker认为你的网站没有定义字符编码,所以它会让浏览器认为页面的字符编码实际上是UTF-7。 接下来,攻击者将UTF-7编码的脚本插入到网页中,并且您的网站被黑客入侵。对于涉及到您的公司和访问者的所有人员,这显然是个问题。 好消息是这是一个简单的问题要避免 - 只要确保将字符编码添加到您的所有网页。

在哪里添加字符编码

网页的字符编码应该是HTML的元素的第一行。这确保浏览器在页面上执行任何其他操作之前知道字符编码的内容,而不是确定文档类型并确定它是HTML页面。 您的HTML应为:

<!doctype html> ...

使用HTTP头来提高安全性

您还可以在HTTP标头中指定字符编码。 这比将它添加到HTML页面更安全,但您需要访问服务器配置或.htaccess文件,这意味着您可能需要与您的网站托管服务提供商合作以获得此类访问权限或让他们进行访问你的变化。 访问真的是这里的挑战。 更改本身很简单,所以任何托管服务提供商都应该能够相对轻松地为您进行此更改。

如果您使用的是Apache,您可以通过添加: AddDefaultCharset UTF-8到您的根.htaccess文件来为整个站点设置默认字符集。 Apache的默认字符集是ISO-8859-1