图解HTTP--03--http报文内的信息

一、报文

1、报文格式

 

 

2、报文分类

(1)请求报文

 

 

(2)响应报文

 

 

 

 

 二、HTTP传输数据时,可以按照原样进行传输,也可以对数据进行编码,能够有效的处理大量打访问请求。进行编码也意味着会有更多的CPU消耗

1、报文:HTTP通信的基本单位,8位字节流组成

2、实体:作为请求或响应的有效载荷数据被传输

HTTP报文的主体用于传输请求或响应的实体主体。一般情况下报文主体与实体是相等的,但当进行了编码之后,实体内容发生了变化,报文主体与实体就不一致了。

 

3、内容编码----压缩传输

 

常见内容编码:

gizp 

compress (UNIX系统的标准压缩)

deflate

identity(不进行压缩)

 

4、分块传输编码-----分割发送

把实体主体分块。(传送大容量数据)

 

 每一块会用16进制来标记块的大小,实体主体的最后一块会用“0(CR+LF)”来标记。使用分块传输编码的实体会由接收的客户端负责解码,恢复到编码之前的原样。

HTTP/1.1中存在一种称为传输编码的机制,它可以在通信时按照某种编码方式传输,但只定义作用域分块传输编码中。

 

5、多部分对象集合-----发送多种数据

HTTP发送的一份报文主体内可以包含多类型实体。(文本、视频、图片)

在HTTP报文中使用多对象集合时,需要在首部字段里加上Content-type。

多类型对象集合包含的对象如下:

mutipart/form-data:在web表单上传时使用

mutipart/byteranges:状态码206响应报文包含了多个范围的内容时使用

 

 

 

 

6、范围请求----获取部分内容

以前:下载资源时,如果遇到网络中断的情况,那就必须要重头开始,就需要一种机制可以使下载从中断处开始。

范围请求-----指定范围发送的请求叫做范围请求

 

 

 

7、内容协商-----返回最合适的内容

内容协商机制:客户端和服务端就响应资源内容进行交涉,然后提供给客户端最为合适的资源。(资源的语言字符集、编码等) 

Accept    

Accept-Charset

Accept-Encoding

Accept-Language

Content-Language

 

内容协商技术的类型:

(1)服务端驱动协商:以请求的首部字段为参考,在服务端自动处理

(2)客户端驱动协商:用户从浏览器显示的可选项列表中手动选择。如自行切换成PC版页面或手机版页面

(3)透明协商:是服务器驱动和客户端驱动的结合体,是由服务端和客户端各自进行内容协商的一种方法。

posted @ 2019-11-03 15:46  1220x  阅读(145)  评论(0编辑  收藏  举报