Http请求详解

HTTP请求报文分为三个部分:请求报文行、请求报文头、请求报文体

②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL,③是协议名称及版本号。 

Accept 

请求报文可通过一个“Accept”报文头属性告诉服务端 客户端接受什么类型的响应。 

Referer 

表示这个请求是从哪个URL过来的,假如你通过google搜索出一个商家的广告页面,你对这个广告页面感兴趣,鼠标一点发送一个请求报文到商家的网站,这个请求报文的Referer报文头属性值就是http://www.google.com。 

Cookie 

客户端的Cookie就是通过这个报文头属性传给服务端的

Accept-language

请求头允许客户端声明它可以理解的自然语言

User-Agent

简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等(百度百科)

Content-Type

请求的内容数据类型

application/x-www-form-urlencoded:数据被编码为名称/值对。这是标准的编码格式。
multipart/form-data: 数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
text/plain: 数据以纯文本形式(text/json/xml/html)进行编码,其中不含任何控件或格式字符。

Host

访问相同主机(IP)的某个站点

Content-Length

用于描述HTTP消息实体的传输长度,在HTTP协议中,消息实体长度和消息实体的传输长度是有区别,比如说zip压缩下,消息实体长度是压缩前的长度,消息实体的传输长度是zip压缩后的长度。

Connection

表示客户端与服务连接类型

Cache-Control 

对缓存进行控制,如一个请求希望响应返回的内容在客户端要被缓存一年,或不希望被缓存就可以通过这个报文头达到目的。 Cache-Control: no-cache 

Cookie

指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265 [1]  。(可以叫做浏览器缓存)

请求报文体

请求参数

HTTP响应报文分为三个部分:响应报文行、响应报文头、响应报文体

①报文协议及版本; 
②状态码及状态描述; 
③响应报文头,也是由多个属性组成; 
④响应报文体,即我们真正要的“干货”。 

Set-Cookie 

服务端可以设置客户端的Cookie,其原理就是通过这个响应报文头属性实现的: 

猜你喜欢

转载自my.oschina.net/u/3141521/blog/1820461