请求首部字段详解-四大首部字段之一

我在分享一下,四大请求首部字段之一,我在之前的一篇文章--《常见Http首部字段》写道了常见的首部字段,里面包含4种常见的请求首部字段,但是我并没有详细的解释这些字段,咱们大家都是讲究的人,既然写了咱们就写的明明白白的,我在《通用首部字段详解--四大首部字段之一》中详解了通用首部字段,今天我们就看看在四大首部字段中字段最多的请求首部字段(19个),

请求首部字段,顾名思义就知道,使用在请求方,那只能携带客户端的信息,客户端一些请求要求,客户端要求响应的优先级之类的,接下来咱们就看看这19字段的

1、 Accpet 

Accept的意思-接受,哪聪明的小伙伴是不是就可以猜到了呢,没错它就是来告知服务器客户端能接受的“媒体类型”,“媒体类型”有是什呢,其实我们可以分成,文本类型、图片类型、视频类型、还有二进制类型

文本类型  text/html,   text/css ......

图片类型:image/png  image/jpg image/gif .....

视频类型:video/mpeg video/quitime .......

应用程序的二进制 : application/zip applilcation/octet-stream........

主要的目的就是告诉服务器,客户端能够接受的媒体类型,多个类型以逗号隔开,如果加权重的话以分号;隔开q=1,q的是指0-1最多三位小数的数字,默认是1


2、Accept-Charset 

Accept-Charset 字面意思大家都可想而知,没错就是客户端可接受的字符集,也可以理解为优先处理字符集,当然q可以一起使用。


3、 Accept-Language

字面意思大家都可想而知,没错就是客户端可接受的自然语言,也可以理解为优先处理的语言,当然q可以一起使用。


4、 Accept-Encoding 

字面意思大家都可想而知,没错就是客户端可接受的编码格式,也可以理解为优先处理的编码格式,当然q可以一起使用。

常用的 gzip comperss


5 、If-Match

这个字段比较有意思,它的值是一个"能够表示唯一资源的字符串“,是响应首部字段的ETag的值,作用是和响应端的ETag做比较,如果值一致,响应端就会返回200 和资源,如果不一致就会返回412,客户端再次请求资源


6、If-None-Match 

这个和If-Match左右相反


7、If-Modified-since

这个字段也比较有意思,当请求首部携带这个字段请求资源的时候,服务器会用请求首部字值:’日期值‘和资源实体的Last-Modified对比,

如果一样就返回304

否则返回200 和响应体


8、If-Unmodified-Match 

和If-Modified-since相反但是,如果一样就返回412,客户端再次请求

9、If-Ranges

这个字段也比较有意思,他一般结合Range请求首部字段使用,它的值也是一个"能够唯一表示资源的字符串“,服务器会和ETag的值做比较,

如果这一致返回206 和请求的返回值

如果不一致直接返回200和全部的响应资源


10、Range

这个字段用于范围请求,如果服务器支持范围请求,在请求首部可以添加这个字段,值为”batys:1000-10000“表示请求的范围是100-10000区间,

服务器发现范围请求没有超过资源范围,就会返回206 ok

如果请求的范围超过资源的范围就会返回200ok,

如果服务器不支持也会返回200ok


11、Host

这个字段一般会出现在,同一个ip下多个虚拟机的请求,用于区分同于ip下不同虚拟机


12、From

From:’邮箱地址‘,告知服务器如果有什么问题可以联系这个邮箱


13、Authorization

用于服务器要求客户端验证时,请求时带的字段(一般是DIGUST和BASIC验证,可以看《DIGEST认证》《BASIC认证》


14、Proxy-Authorization

用服务器要求代理端web验证时,请求时带的字段

15、User-Agent

客户端的一些信息,有时候会带用户的邮箱


16、Referer

用户表示请求原始方的URI


17、Expcet

询问服务器能不能做某些事情,

如果服务器可以做到返回100 contiune

否则 417 Expectation Failed


18、TE

大家还记得Accept-Encoding首部字段吗?TE和Accept-Encoding功能很像,用于能够处理的传输编码格式,不过另外还有一个功能还可以知道Trailer分块格式

19、Max-Forwrads 

这个字段也是非常有意思的,他用于最大逐跳,他的值是阿拉伯数字,主要用于测试中间服务器那个出问题了,比如现在有一个请求需要经过10个中间服务器才能请求到真正的服务器,但是突然中间有个服务器down,其实前端是不知道那个服务器down,就需要请求首部加入Max-Forwrads来测试那个服务器出现问题了。










转载于:https://juejin.im/post/5c25f8f36fb9a04a0f653fed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值