作为前端的代码猿,在面试中避免不了别问道http首部字段,有些小伙伴可能就会感到害怕?,心想我那知道这些啊,哈哈,有关tcp/ip协议里面的这些问题在面试中经常被问道
废话不都说咱们就看看http/1.1中常见的一些首部字段,大家做好准备常用的字段挺多的,大概有47个 ?一听见这个数字大家就会吓一跳what这么多,莫怕伙计们,其实按类别的是很好区分的。
咱们不着急看着40几个首部字段咱们先了解一下首部字段是干什么的,其实首部字段是用来传递重要信息的,首部字段是构成报文的要素之一。若http首部字段重复了会如何,现在在tcp/ip协议上边还没有明确的规范定义,使用第一次出现的还是后者出现的字段,其实组要还是根据浏览器的逻辑来决定的,有的浏览器时首先处理第一次出现的首部字段,而有些则处理最后一次出现的首部地段。
刚才咱们谈到了首部字段大概是40多个,莫怕,这些字段是进行分类的,根据首部字段实际用途分为4中类型。
- 通用首部字段(General Header Fields) 请求和响应报文两方都会使用的首部字段。
- 请求首部字段(Reauest Header Fields)客户端向服务器发送请求的报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关的优先等级信息。
- 响应首部字段(Response Header Fields)从服务器向客户端响应时使用的字段,补充响应的附加内容,也会要求客户端附加额外信息
- 实体首部字段(Entiy Header Fields) 针对请求报文和响应报文的实体部分使用首部。补充了资源内容更新时间等实体有关的信息。
下面简介http/1.1的首部字段,如果想看详细说明请点击《通用首部字段详解》、《请求首部字段详解》、《响应首部字段》、《实体首部字段详解》
1、 http\1.1 通用首部字段
1.1 Cache-Control 控制缓存
1.2 Connection 连接管理、逐条首部
1.3 Upgrade 升级为其他协议
1.4 via 代理服务器的相关信息
1.5 Wraning 错误和警告通知
1.6 Transfor-Encoding 报文主体的传输编码格式
1.7 Trailer 报文末端的首部一览
1.8 Pragma 报文指令
1.9 Date 创建报文的日期
2、http/1.1 请求首部字段
2.1 Accept 客户端或者代理能够处理的媒体类型
2.2 Accept-Encoding 优先可处理的编码格式
2.3 Accept-Language 优先可处理的自然语言
2.4 Accept-Charset 优先可以处理的字符集
2.5 If-Match 比较实体标记(ETage)
2.6 If-None-Match 比较实体标记(ETage)与 If-Match相反
2.7 If-Modified-Since 比较资源更新时间(Last-Modified)
2.8 If-Unmodified-Since比较资源更新时间(Last-Modified),与 If-Modified-Since相反
2.9 If-Rnages 资源未更新时发送实体byte的范围请求
2.10 Range 实体的字节范围请求
2.11 Authorization web的认证信息
2.12 Proxy-Authorization 代理服务器要求web认证信息
2.13 Host 请求资源所在服务器
2.14 From 用户的邮箱地址
2.15 User-Agent 客户端程序信息
2.16 Max-Forwrads 最大的逐跳次数
2.17 TE 传输编码的优先级
2.18 Referer 请求原始放的url
2.19 Expect 期待服务器的特定行为
3 http/1.1 响应首部字段
3.1 Accept-Ranges 能接受的字节范围
3.2 Age 推算资源创建经过时间
3.3 Location 令客户端重定向的URI
3.4 vary 代理服务器的缓存信息
3.5 ETag 能够表示资源唯一资源的字符串
3.6 WWW-Authenticate 服务器要求客户端的验证信息
3.7 Proxy-Authenticate 代理服务器要求客户端的验证信息
3.8 Server 服务器的信息
3.9 Retry-After 和状态码503 一起使用的首部字段,表示下次请求服务器的时间
4 http/1.1 实体首部字段
4.1 Allow 资源可支持http请求的方法
4.2 Content-Language 实体的资源语言
4.3 Content-Encoding 实体的编码格式
4.4 Content-Length 实体的大小(字节)
4.5 Content-Type 实体媒体类型
4.6 Content-MD5 实体报文的摘要
4.7 Content-Location 代替资源的yri
4.8 Content-Rnages 实体主体的位置返回
4.9 Last-Modified 资源最后的修改资源
4.10 Expires 实体主体的过期资源