HTTP_03_HTTP报文中的HTTP信息

本文深入解析HTTP协议的关键组成部分,包括报文结构、编码提升传输效率、多部分对象集合、部分内容请求及内容协商机制,阐述了HTTP如何高效处理和传输数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.HTTP报文

分为3部分:

【报文首部】服务器端或客户端需处理的请求或响应的内容及属性

【空行(CR+LF)】CR(Carriage Return,回车符)和LF(Line Feed,换行符)

【报文主体】应被发送的数据

其中报文首部又分为:

请求/响应行
请求/响应首部字段
通用首部字段
实体首部字段
其他

2.编码提升传输速率

HTTP协议中内容编码指明应用在实体内容上的编码格式,并保持实体信息原样压缩。

内容编码后的实体由客户端接收并负责解码。

在传输大容量数据时,使用分块传输编码(Chunked Transfer Coding)通过把数据分割成多块,能够让浏览器逐步显示页面。

3.发送多种数据的多部分对象集合

HTTP协议采用多部分对象集合(Multipart),发送的一份报文主体内可包含多类型实体。通常在图片或这文本文件等上传时使用。需要在首部字段里夹上Content-Type。

  • multipart/from-data 在Web表单文件上传时使用
  • multipart/byteranges 状态码206(Partial Context,部分内容)

4.获取部分内容的分为请求

能从之前下载中断处恢复下载。使用范围请求(Range Request)指定范围发送的请求。

例如:

在首部字段Range来指定资源的byte范围。

Range:bytes=-3000, 5001- // 从一开始到3000字节和从5001字节之后全部的多重范围

5.内容协商返回最合适的内容

内容协商(Content Negotiation)机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。例如:google对不同国家不同语言的显示。

包含在请求报文中的某些首部字段就是判断的基准。

  • Accept
  • Accept-Charset
  • Accept-Encoding
  • Accept-Language
  • Content-Language
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值