HTML中的DOCTYPE版本声明

前言

和大多数同学一样,刚学习HTML的时候首先就会了解到其基本结构,第一句就是<!DOCTYPE html>,大部分教程都会解释这个是用来声明文档类型和HTML版本的,更深入点可能会了解到还有HTML版本的差异等,但说起来总有些不清不楚的地方,今天从新梳理了下,记录一下。

1. 从互联网媒体类型MIME说起

互联网媒体类型(Internet media type,也称为MIME类型MIME type)或内容类型content type))是给互联网上传输的内容赋予的分类类型。 --- 维基百科

MIME类型标准由IANA发布,最早是用在SMTP协议的电子邮件中,现在WEB中的HTTP协议也在使用。

命名格式:类型名 / 子类型名 [ ; 可选参数 ]

媒体类型:参考https://www.w3school.com.cn/media/media_mimeref.asp

从参考手册可以查到,HTML是TEXT类型中的一个子类型。因此经常会在一个请求头部中看到AcceptContent-Type字段(Content-Type代表发送的实体数据的数据类型,Accept代表客户端希望接受的数据类型)。

2. 标记语言通用标准SGML

SGML是国际上定义电子文档和内容描述的标准。它源于1969年IBM公司开发的文档描述语言GML,它也是一个ISO标准。

MIME类型:application/sgml, text/sgml

延伸类型:HTML和XML同样衍生于它

3. HTML版本差异

在HTML5之前的版本都是基于SGML延伸的,需要引用DTD来指定标记语言的规则。所以旧版本的DOCTYPE声明会看起来很长。而HTML5 不是基于 SGML,因此不要求引用 DTD。

版本 声明
HTML 5 <!DOCTYPE html>
HTML 4.01 Strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

猜你喜欢

转载自www.cnblogs.com/dream08/p/11649636.html