Doctype(文档类型)
现在只有很少的HTML文档有一个正确而完整的doctype或者DTD (文档类型声明)。它现在更多的是在起装饰作用而没有什么功能作用,但是就在几年前刚开始的时候,一个doctype的定义,对浏览器解释这个文档起到很大的作用。
所有的HTML和XHTML文档都必须使它的doctype声明合法化。 doctype可以告诉我们在文档中使用的是什么版本的HTML和XHMTL,也决定了校验器以何种方式校验,浏览器以何种模式解释。如果文档中有一个正确而完整的doctype,许多浏览器将会转换到标准模式,那就意味着与CSS的规范更加接近了。因为浏览器不必再把时间用在弥补、解释不规范的HTML上了,所以文档的显示速度也加快了。这同样也会减少在不同浏览器上显示的差异性。
下面的doctype声明是针对XHTML 1.0 Strict的,它将会促使拥有“文档类型转换器”的浏览器使用他们的标准模式。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
字符编码
所有的XHTML文档都应当定义他们的字符编码。
最好的网页编码方法是配置你的网络服务器,使其发送带有字符编码的HTTP content-type头部。关于如何使用去做的具体细节,请参阅你所使服务器软件的说明。
如果你使用的是Apache,你可以通过在你的.htaccess文件中添加一两条规则来定义字符编码。例如,你的所有文件使用的都是utf-8, 添加下面的语句:
AddDefaultCharset utf-8
定义具有相同扩展名的文件的字符编码,则使用下面的代码:
AddCharset utf-8 .html
如果你的服务器允许你用PHP脚本时,你可以使用以下的代码来定义字符编码。
<?php header("Content-Type: application/xhtml+xml; charset=utf-8"); ?>
如果你的页面是HTML, 请把application/xhtml+xml换成 text/html。不管是什么原因,如果你不能配置你的服务器使其定义为你所使用的字符编码,你可以在<head>中使用<meta> 。即使你的服务器配置正确了,这也是个定义字符编码的好方法。
例如, 下面的<meta>告诉浏览器这是一个使用ISO-8859-1字符编码的文档:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />