HTTP报文

 我来答
腾扬数码
2022-07-20 · TA获得超过2824个赞
知道小有建树答主
回答量:3679
采纳率:100%
帮助的人:201万
展开全部

HTTP协议在规范文档里详细定义了报文的格式,规定了组成部分,解析规则,还有处理策略,所以可以在 TCP/IP层之上实现更灵活丰富的功能,例如连接控制,缓存管理、数据编码、内容协商等等。

拿TCP报文来举例,它在实际要传输的数据之前附加了一个20字节 的头部数据,存储TCP协议必须的额外信息,例如发送方的端口号、接收方的端口号、包序号、标志位等等。有了这个附加的TCP头,数据包才能够正确传输,到了目的地后把头部去掉,就可以拿到真正的数据。

HTTP协议也是与TCP/UDP类似,同样也需要在实际传输的数据前附加一些头数据,不过与TCP/UDP不同的 是,它是一个“ 纯文本 ”的协议,所以头数据都是ASCII码的文本.

HTTP协议的请求报文和响应报文的结构基本相同,由三大部分组成:

这其中前两部分起始行和头部字段经常又合称为“ 请求头 ”或“ 响应头 ”,消息正文又称为“实体”,但与“header”对应,很多时候就直接称为“ body ”。

HTTP协议规定报文 必须有header ,但可以 没有body ,而且在header之后必须要有一个“空行”,也就 是“ CRLF ”,十六机制的“0D0A”。

了解了HTTP报文的基本结构后,我们来看看请求报文里的起始行也就是请求行(request line),它简要地描述了客户端想要如何操作服务器端的资源。

请求行由三部分构成:

这三个部分通常使用空格(space)来分隔,最后要用CRLF换行表示结束。

看完了请求行,我们再看响应报文里的起始行,在这里它不叫“响应行”,而是叫“状态行”(status line),意思是服务器响应的状态。

比起请求行来说,状态行要简单一些,同样也是由三部分构成:

请求行或状态行再加上头部字段集合就构成了HTTP报文里完整的请求头或响应头

头部字段是key-value的形式,key和value之间用“:”分隔,最后用CRLF换行表示字段结束。比如在“Host: 127.0.0.1”这一行里key就是“Host”,value就是“127.0.0.1”。HTTP头字段非常灵活,不仅可以使用标准里的Host、Connection等已有头, 也可以任意添加自定义头 ,这 就给HTTP协议带来了无限的扩展可能。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式