网页服务器用MIME内容类型来解析每一个他们存放的文档。MIME意思是多部分互联网邮件扩展。内容类型是在文档的HTTP头部里识别的。浏览器根据文档的mime类型来决定如何处理此文档。当它发现文档的内容类型是text/html,会把这个文档看做html
根据w3c的注解“xhtml media types”,网页服务器会把xhtml当成以下三种内容类型来处理:
1. Xhtml文档可能被看做text/html,这只有在你不想把文档看做xml并且不含有其它xml命名空间的内容时发生。当浏览器接收到一个附有text/html的xhtml文档,会把它当成html
2. xhtml应当被看做application/xhtml+xml。但是ie7及其早期版本拒绝以这种形式显示页面
3. 也可能把xhtml当成application/xml或text/xml,但是ie7及其早期版本会把这样的文档看成普通xml,这意味着他们会忽略所有xhtml语义,意味着链接和表单失效,解析文档时间变长。
基于Gecko的浏览器如ff2只有当文档全部下载完毕并且没有编写错误才会去解析附有xml内容类型的文档。而无论文档的DOCTYPE如何,它都会以严格的模式来解析文档。
当前对xhtml网页最可靠的内容类型是text/html,会让浏览器吧文档当成html解析,这种解决方法得到w3c支持,并且它在所有的主流浏览器中都可以正常运行。因为浏览器不对HTML进行校验—包括文档所包含的任何错误,相反浏览器在处理xhtml文档时,只要有一个错误,这些xml规则就会停止解析整个文档,对于人为设计的网页来说不是好事。
DOCTYPE:
别名:元数据声明
问题:需要声明文档的类型,以使根据某种文档类型定义(DTD)对它进行校验。需要确保文档符合规范,确保网页浏览器在解析他时候也遵从相同规范
解决方案:<!DOCTYPE>识别文档是按照哪种HTML或XHTML类型和版本来编写的。
所有的xhtml和html都应当经过校验的。
使用xhtml可以使校验过的文档 是合式并且有清晰的架构,也可以用xslt和xquery处理器从中提取内容和对文档进行重组。
另外两种DOCTYPE:严格型和过渡型的。严格型去掉了所有表现类的元素和属性,过渡性则没有,不建议使用表现类的元素和属性,但是严格型对于某些需求过于严格。
对css,浏览器使用<!DOCTYPE>决定解析文档时采取的方法离css标准到底多近,有两种基本模式:混乱模式和标准模式,在混乱模式下, 浏览器不会遵从css标准。
在严格模式下,ie会违反部分css规范,表格单元格中的图片不跟进基准来对齐,想删除图片下的基准空格,这样表格中被分割的小图片才能照常显示。主流浏览器还有一种模式,近乎标准模式,其中也有这种非标准行为。
Ie的标准模式和另一种浏览器的准标准模式是两种兼容性较好的模式。主要有两种
<!DOCTYPE>声明会触发这个兼容等级,一个是XHTML,一个是html的。
使用范围:<!DOCTYPE>必须是html文档中的第一项,每一个文档必须有且只由只有一个
<!DOCTYPE>,不能在之前方有xml声明。否则ie6会触发混乱模式。
2402

被折叠的 条评论
为什么被折叠?



