记录前端基础知识

前端基础笔记

关于doctype

!DOCTYPE,一个文档类型标记是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档。 —— [ 百度百科 ]

来自github上的面试题

什么是<!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 表示持久连接;


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值