Http请求头中各字段的含义

更新时间:2023-07-13 11:56:24 阅读: 评论:0

Http请求头中各字段的含义
Accept
浏览器(或者其他基于HTTP的客户端程序)可以接收的内容类型(Content-types),例如 Accept: text/plain
Accept-Chart
浏览器能识别的字符集,例如 Accept-Chart: utf-8
Accept-Encoding
浏览器可以处理的编码⽅式,注意这⾥的编码⽅式有别于字符集,这⾥的编码⽅式通常指gzip,deflate等。例如 Accept-Encoding: gzip, deflate
Accept-Language
浏览器接收的语⾔,其实也就是⽤户在什么语⾔地区,例如简体中⽂的就是 Accept-Language: zh-CN
Accept-Datetime
(这个暂时没搞清楚什么意思)
Authorization
在HTTP中,服务器可以对⼀些资源进⾏认证保护,如果你要访问这些资源,就要提供⽤户名和密码,这个⽤户名和密码就是在Authorization头中附带的,格式
是“urname:password”字符串的ba64编码,例如:Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==中,basic指使⽤basic认证⽅式, QWxhZGRpbjpvcGVuIHNlc2FtZQ==使⽤ba64解码就是Aladdin:open same
Cache-Control
这个指令在request和respon中都有,⽤来指⽰缓存系统(服务器上的,或者浏览器上的)应该怎样处理缓存,因为这个头域⽐较重要,特别是希望使⽤缓 存改善性能的时候,内容也较多,所以我想在下⼀篇博⽂中主要介绍⼀下。
Connection
告诉服务器这个ur agent(通常就是浏览器)想要使⽤怎样的连接⽅式。值有keep-alive和clo。ht
tp1.1默认是keep-alive。keep-alive就是浏览器和服务器 的通信连接会被持续保存,不会马上关闭,⽽clo就会在respon后马上关闭。但这⾥要注意⼀点,我们说HTTP是⽆状态的,跟这个是否keep-alive没有关系,不要认为keep-alive是对HTTP⽆状态的特性的改进。
Cookie
浏览器向服务器发送请求时发送cookie,或者服务器向浏览器附加cookie,就是将cookie附近在这⾥的。例如:Cookie:ur=admin干旱胁迫
Content-Length
⼀个请求的请求体的内存长度,单位为字节(byte)。请求体是指在HTTP头结束后,两个CR-LF字符组之后的内容,常见的有POST提交的表单数据,这个Content-Length并不包含请求⾏和HTTP头的数据长度。
动画故事Content-MD5
使⽤ba64进⾏了编码的请求体的MD5校验和。例如:Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Type
请求体中的内容的mime类型。通常只会⽤在POST和PUT⽅法的请求中。例如:Content-Type: application/x-www-form-urlencoded
Date
免签国家可以直接去吗
发送请求时的GMT时间。例如:Date: Tue, 15 Nov 1994 08:12:31 GMT
Expect
指⽰需要使⽤服务器某些特殊的功能。(这个我不是很清楚)
From
发送这个请求的⽤户的email地址。例如:From:
Host
被服务器的域名或IP地址,如果不是通⽤端⼝,还包含该端⼝号,例如:Host: :182
If-Match
通常⽤在使⽤PUT⽅法对服务器资源进⾏更新的请求中,意思就是,询问服务器,现在正在请求的资源的tag和这个If-Match的tag相不相同,如果相同,则证明服务器上的这个资源还是旧的,现在可以被更新,如果不相同,则证明该资源被更新过,现在就不⽤再更新了(否则有可能覆盖掉其他⼈所做的更改)。
If-Modified-Since
询问服务器现在正在请求的资源在某个时间以来有没有被修改过,如果没有,服务器则返回304状态来告诉浏览器使⽤浏览器⾃⼰本地的缓存,如果有修改过,则返回200,并发送新的资源(当然如果资源不存在,则返回404。)
If-None-Match
和If-Modified-Since⽤意差不多,不过不是根据时间来确定,⽽是根据⼀个叫ETag的东西来确定。关于etag我想在下⼀篇博客介绍⼀下。
If-Range
浪漫签名告诉服务器如果这个资源没有更改过(根据If-Range后⾯给出的Etag判断),就发送这个资源中在浏览器缺少了的某些部分给浏览器,如果该资源以及被修改过,则将整个资源重新发送⼀份给浏览器。
篦梳If-Unmodified-Since
询问服务器现在正在请求的资源在某个时刻以来是否没有被修改过。
Max-Forwards
限制请求信息在代理服务器或⽹关中向前传递的次数。
Pragma
好像只有⼀个值,就是:no-cache。Pragma:no-cache 与cache-control:no-cache相同,只不过cache-control:no-cache是http1.1专门指定的,⽽Pragma:no-cache可以在http1.0和1.1中使⽤
Proxy-Authorizatio
连接到某个代理时使⽤的⾝份认证信息,跟Authorization头差不多。例如:Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range
在HTTP头中,”Range”字眼都表⽰“资源的byte形式数据的顺序排列,并且取其某⼀段数据”的意思。R
ange头就是表⽰请求资源的从某个数值到某个数值间的数据,例如:Range: bytes=500-999 就是表⽰请求资源从500到999byte的数据。数据的分段下载和多线程下载就是利⽤这个实现的。
Referer
指当前请求URL是在什么地址中引⽤的。
例如在/index.html页⾯中点击⼀个指向的超链接,那么,这个的请求中的Referer就是/index.html。
通常我们见到的图⽚防盗链就是⽤这个实现的。李晓红
Upgrade
请求服务器更新⾄另外⼀个协议,例如:Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
Ur-Agent
通常就是⽤户的浏览器相关信息。例如:Ur-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0
Via
果戈里大街
⽤来记录⼀个请求经过了哪些代理或⽹关才被送到⽬标服务器上。例如⼀个请求从浏览器出发(假设使⽤http/1.0),发送给名为 SomeProxy的内部代理,然后被转发⾄
的公共代理(使⽤http/1.1),最后被转发⾄⽬标服务器,那么在中收到的via 头应该是:via:1.0 someProxy 1.1 (apache 1.1)
Warning
记录⼀些警告信息。
通⽤但⾮标准的HTTP头(通常,⾮标准的头域都是⽤“X-”开头,例如”x-powered-by”):
X-Requested-With
主要是⽤来识别ajax请求,很多javascript框架会发送这个头域(值为XMLHttpRequest)我的夜生活
DNT
DO NOT TRACK的缩写,要求服务器程序不要跟踪记录⽤户信息。DNT: 1 (开启DNT) DNT: 0 (关闭D
NT)⽕狐,safari,IE9都⽀持这个头域,并且于2011年3⽉7⽇被提交⾄IETF 组织实现标准化
X-Forwarded-For
记录⼀个请求从客户端出发到⽬标服务器过程中经历的代理,或者负载平衡设备的IP。
X-Forwarded-Proto
记录⼀个请求⼀个请求最初从浏览器发出时候,是使⽤什么协议。因为有可能当⼀个请求最初和反向代理通信时,是使⽤https,但反向代理和服务器通信时改变成http协议,这个时候,X-Forwarded-Proto的值应该是https
Front-End-Https
微软使⽤与其负载平衡的⼀个头域。

本文发布于:2023-07-13 11:56:24,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1079809.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:请求   服务器   浏览器
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图