前端基础笔记
关于doctype
!DOCTYPE,一个文档类型标记是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档。 —— [ 百度百科 ]
什么是<!DOCTYPE html>
?
html5标准网页声明,全称为Document Type HyperText Mark-up Language,意思为文档种类为超文本标记性语言或超文本链接标示语言,现在是这个简洁形式,支持html5标准的主流浏览器都认识这个声明。表示网页采用html5, 声明位于文档中的最前面的位置,处于 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
基本实例
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
</head>
<body>
文档的内容......
</body>
</html>
标准模式和怪癖模式之间的区别是什么?
缺失doctype声明的时候会出现怪异模式。
BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。
CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。
xhtml和html的区别是什么?
引用块内容
HTML与XHTML之间的差别,粗略可以分为两大类比较:一个是功能上的差别,另外是书写习惯的差别。关于功能上的差别,主要是XHTML可兼容各大浏览器、手机以及PDA,并且浏览器也能快速正确地编译网页。 —— [ 百度经验]
- 所有标签都必须小写
在XHTML中,所有的标签都必须小写,不能大小写穿插其中,也不能全部都是大写。看一个例子。
错误:<Head></Head><Body></Body>
正确:<head></head><body></body>
- 标签必须成双成对
像是<p>...</p>、<a>...</a>、<div>...</div>标签等,当出现一个标签时,必须要有对应的结束标签,缺一不可,就像在任何程序语言中的括号一样。
错误:大家好<p>我是muki
正确:<p>大家好</p><p>我是muki</p>
- 标签顺序必须正确
标签由外到内,一层层包覆着,所以假设你先写div后写h1,结尾就要先写h1后写div。只要记住一个原则“先进后出”,先弹出的标签要后结尾。
错误:<div><h1>大家好</div></h1>
正确:<div><h1>大家好</h1></div>
- 所有属性都必须使用双引号
在XHTML 1.0中规定连单引号也不能使用,所以全程都得用双引号。
错误:<div style=font-size:11px>hello</div>
正确:<div style="font-size:11px">hello</div
- 不允许使用target=”_blank”
从XHTML 1.1开始全面禁止target属性,如果想要有开新窗口的功能,就必须改写为rel="external",并搭配JavaScript实现此效果。
错误:<a href="http://blog.mukispace.com" target="_blank">MUKI space</a>
正确:<a href="http://blog.mukispace.com" rel="external">MUKI space</a>
HTTP请求头解析
HTTP header fields are components of the header section of request and response messages in the Hypertext Transfer Protocol (HTTP). They define the operating parameters of an HTTP transaction.—— [ wiki百科]
Accept-Language: zh-cn,zh;q=0.5
意思:
浏览器支持的语言分别是中文和简体中文,优先支持简体中文。
详解:
Accept-Language 表示浏览器所支持的语言类型;
zh-cn 表示简体中文;zh 表示中文;
q 是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
意思:
浏览器支持的字符编码分别是 GB2312、utf-8 和任意字符,优先顺序是 GB2312、utf-8、*。
详解:
Accept-Charset 告诉 Web 服务器,浏览器可以接受哪些字符编码;
GB2312 是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB0,由中国国家标准总局发布,1981年5月1日实施。GB2312 编码通行于中国大陆;新加坡等地也采用此编码。
utf-8 是 Unicode 的一种变长字符编码又称万国码,由 Ken Thompson 于1992年创建,现在已经标准化为 RFC 3629。
*表示任意字符编码,虽然 q 都是等于 0.7,但明确指定的 GB2312,utf-8 比 * 具有更高的优先级。
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
意思:
浏览器支持的 MIME 类型分别是 text/html、application/xhtml+xml、application/xml 和 /,优先顺序是它们从左到右的排列顺序。
详解:
Accept 表示浏览器支持的 MIME 类型;
MIME 的英文全称是 Multipurpose Internet Mail Extensions(多功能 Internet 邮件扩充服务),它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;
text/html 表示 html 文档;
text/javascript 表示 javascript 脚本
Application:用于传输应用程序数据或者二进制数据;
application/xhtml+xml 表示 xhtml 文档;
application/xml 表示 xml 文档。
application/json 表示 json数据。
Accept-Encoding: gzip, deflate
意思:
浏览器支持的压缩编码是 gzip 和 deflate。
详解:
Accept-Encoding 表示浏览器有能力解码的编码类型;
gzip 是 GNU zip 的缩写,它是一个 GNU 自由软件的文件压缩程序,也经常用来表示 gzip 这种文件格式。
deflate 是同时使用了 LZ77 算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。
Cache-Control:no-cache
意思:
对缓存进行控制,如一个请求希望响应返回的内容在客户端要被缓存一年,或不希望被缓存就可以通过这个报文头达到目的。
详解:
no-cache 表示不在客户端缓存User-Agent: Mozilla/5.0 (compatible;域名)
意思:
使用的用户代理是 Mozilla/5.0 (compatible; 域名)。
详解:
User-Agent(用户代理),简称 UA,它是一个特殊字符串头,使得服务器能够识别客户端使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
Mozilla/5.0:Mozilla 是浏览器名,版本是 5.0;
compatible(兼容的)表示平台是兼容模式;Host: 域名
Host 表示请求的服务器网址;
Content-Length:83
Content-Length 表示内容长度Connection: Keep-Alive
Connection 表示客户端与服务连接类型;
Keep-Alive 表示持久连接;