做web开发,对http肯定不能陌生。之前对http请求头有过详细了解,今天回想一下,差不多忘光了,真的感慨好记性不如烂笔头啊!在此记录一下,以便后续查阅。
看如下的例子:
-
Accept:
application/json, text/plain, */*
-
Accept-Encoding:
gzip, deflate, sdch, br
-
Accept-Language:
zh-CN,zh;q=0.8
-
Cache-Control:
no-cache
-
Connection:
keep-alive
-
Cookie:
csrftoken=0InpjXJ3QILwzpZPPSS7T5z14dtOiC3V; sessionid=a9bdcllmv78zd60oe608epgdn08hokw7
-
Host:
10.67.2.13
-
Pragma:
no-cache
-
Referer:
https://10.67.2.13/launch/index
- User-Agent:
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
下面对每个字段做解释:
Accept:表示浏览器支持的MIME类型。MIME是一种多用途网际邮件扩充协议。application/json、text/plain都是MIME类型,斜杠前面的是type(类型),后面的是subtype(子类型)。type指定大的范围,subtype是type中范围更明确的类型。
Accept-Encoding:表示浏览器有能力解码的编码类型。
Accept-Language:浏览器支持的语言类型。
Cache-Control:指定请求和响应想遵循的机制。no-cache表示请求或响应消息不缓存。
Connection:表示客户端与服务器的连接类型,一般都是Keep-Alive(长连接)。
Cookie:请求服务器带上的cookie内容。
Host:表示请求的服务器网址。
Pragma:用来包含执行特定的指令,一般为no-cache,表示请求或响应消息不缓存。
Referer:表示客户端根据哪里来的资源,去访问此服务器。一般用于防盗链。
User-Agent:使用的用户代理。它能使得服务器能够识别客户端使用的操作系统及版本,CPU类型,浏览器版本,浏览器渲染引擎,浏览器语言,浏览器插件等。
上述为GET请求请求头内容,对于POST请求因为有请求体,额外会有两个较为重要的字段content-length、content-type,以及http还有一些标准的字段,下面对其常用的做个解释:
content-length:设置请求体的字节长度
Content-Length: 348
content-type:设置请求体的MIME类型(适用POST和PUT请求)
Content-Type: application/x-www-form-urlencoded
Authorization 设置HTTP身份验证的凭证
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
http响应头、http报文格式,后续记录。
结束!!!