《图解HTTP》笔记(二)

2017-07-24  本文已影响13人  帅气Name

HTTP协议

Http是一种无状态协议。协议对于发送过的请求和响应之间的通信状态不进行保存。

客户端发送HTTP请求给服务器端的请求报文:

请求报文

服务器端接收后结果以响应报文形式返回:

响应报文

Http方法

GET:获取资源

**POST:传输实体主体



**

PUT:传输文件
PUT方法自身不带检验机制,任何人都能上传,因此一般的web网站不使用该方法。

HTTP持久连接、管线化

HTTP/1.1和部分HTTP/1.0想出来持久连接的方法(HTTP keep-alive)。持久化特点:只要任意一端没有明确提出断开连接,则保持TCP连接状态。持久连接减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。
持久化连接使得多数请求以管鲜化方式发生成为可能,是得能够做到同时并行发送多个请求

HTTP报文

用于HTTP协议交互的信息被称作为HTTP报文。报文是由多行数据构成的字符串文本。

HTTP报文大致可分为报文首部和报文主体两块。(一般不一定要有报文主体)

请求报文及响应报文的结构

** 请求行**
包含用于请求的方法,请求URI和HTTP版本。

状态行
包含表明响应结果的状态码,原因短语和HTTP版本。

首部字段
包含表示请求和响应的各种条件和属性的各类首部。

压缩传输的内容编码
类似于发邮件时,为使得邮件容量变小,会先用zip压缩文件之后在添加附件发送。HTTP也有类似的内部编码功能。
常用的内容编码有:

获取部分内容的范围请求

为了解决类似下载过程中遇到网络中断候,必须重头开始的情景。

对于份10000字节大小的资源,如果使用范围请求,可以只请求5001-10000字节内的资源。


Range来指定的范围如下,

//5001到10000字节之间
Range:bytes=5001-10000
//5001字节之后的全部
Range:bytes=5001-
//从开头到3000字节和5000-7000字节的多重范围
Range:bytes=-3000,5000-7000

HTTP状态码

上一篇下一篇

猜你喜欢

热点阅读