我在分享一下,四大请求首部字段之一,我在以前的一篇文章--《常见Http首部字段》写道了常见的首部字段,里面包含4种常见的请求首部字段,可是我并无详细的解释这些字段,我们你们都是讲究的人,既然写了我们就写的明明白白的,我在《通用首部字段详解--四大首部字段之一》中详解了通用首部字段,今天咱们就看看在四大首部字段中字段最多的请求首部字段(19个),css
请求首部字段,顾名思义就知道,使用在请求方,那只能携带客户端的信息,客户端一些请求要求,客户端要求响应的优先级之类的,接下来我们就看看这19字段的html
一、 Accpet 前端
Accept的意思-接受,哪聪明的小伙伴是否是就能够猜到了呢,没错它就是来告知服务器客户端能接受的“媒体类型”,“媒体类型”有是什呢,其实咱们能够分红,文本类型、图片类型、视频类型、还有二进制类型web
文本类型 text/html, text/css ......服务器
图片类型:image/png image/jpg image/gif .....markdown
视频类型:video/mpeg video/quitime .......app
应用程序的二进制 : application/zip applilcation/octet-stream........ide
主要的目的就是告诉服务器,客户端可以接受的媒体类型,多个类型以逗号隔开,若是加权重的话以分号;隔开q=1,q的是指0-1最多三位小数的数字,默认是1post
二、Accept-Charset 测试
Accept-Charset 字面意思你们均可想而知,没错就是客户端可接受的字符集,也能够理解为优先处理字符集,固然q能够一块儿使用。
三、 Accept-Language
字面意思你们均可想而知,没错就是客户端可接受的天然语言,也能够理解为优先处理的语言,固然q能够一块儿使用。
四、 Accept-Encoding
字面意思你们均可想而知,没错就是客户端可接受的编码格式,也能够理解为优先处理的编码格式,固然q能够一块儿使用。
经常使用的 gzip comperss
5 、If-Match
这个字段比较有意思,它的值是一个"可以表示惟一资源的字符串“,是响应首部字段的ETag的值,做用是和响应端的ETag作比较,若是值一致,响应端就会返回200 和资源,若是不一致就会返回412,客户端再次请求资源
六、If-None-Match
这个和If-Match左右相反
七、If-Modified-since
这个字段也比较有意思,当请求首部携带这个字段请求资源的时候,服务器会用请求首部字值:’日期值‘和资源实体的Last-Modified对比,
若是同样就返回304
不然返回200 和响应体
八、If-Unmodified-Match
和If-Modified-since相反可是,若是同样就返回412,客户端再次请求
九、If-Ranges
这个字段也比较有意思,他通常结合Range请求首部字段使用,它的值也是一个"可以惟一表示资源的字符串“,服务器会和ETag的值作比较,
若是这一致返回206 和请求的返回值
若是不一致直接返回200和所有的响应资源
十、Range
这个字段用于范围请求,若是服务器支持范围请求,在请求首部能够添加这个字段,值为”batys:1000-10000“表示请求的范围是100-10000区间,
服务器发现范围请求没有超过资源范围,就会返回206 ok
若是请求的范围超过资源的范围就会返回200ok,
若是服务器不支持也会返回200ok
十一、Host
这个字段通常会出如今,同一个ip下多个虚拟机的请求,用于区分同于ip下不一样虚拟机
十二、From
From:’邮箱地址‘,告知服务器若是有什么问题能够联系这个邮箱
1三、Authorization
用于服务器要求客户端验证时,请求时带的字段(通常是DIGUST和BASIC验证,能够看《DIGEST认证》《BASIC认证》)
1四、Proxy-Authorization
用服务器要求代理端web验证时,请求时带的字段
1五、User-Agent
客户端的一些信息,有时候会带用户的邮箱
1六、Referer
用户表示请求原始方的URI
1七、Expcet
询问服务器能不能作某些事情,
若是服务器能够作到返回100 contiune
不然 417 Expectation Failed
1八、TE
你们还记得Accept-Encoding首部字段吗?TE和Accept-Encoding功能很像,用于可以处理的传输编码格式,不过另外还有一个功能还能够知道Trailer分块格式
1九、Max-Forwrads
这个字段也是很是有意思的,他用于最大逐跳,他的值是阿拉伯数字,主要用于测试中间服务器那个出问题了,好比如今有一个请求须要通过10个中间服务器才能请求到真正的服务器,可是忽然中间有个服务器down,其实前端是不知道那个服务器down,就须要请求首部加入Max-Forwrads来测试那个服务器出现问题了。