计算机网络的故事——HTTP报文内的HTTP信息

HTTP报文内的HTTP信息

文章目录


一、HTTP 报文

HTTP报文是由多行(CR+LF作换行符)数据构成的字符串文本,HTTP报文可以分为报文首部和报文主体两部分,两者起初是由(CR+LF)划分的,通常并不一定有报文主体。

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

报文中的参数解释:

请求行:包含请求方法、请求URI和HTTP版本。

状态行:响应状态码、原因短语和HTTP版本

首部字段一般有四种:通用首部、请求首部、响应首部和实体首部

三、编码提升传输速率

类似于发送邮件内增加附件时,为了使邮件变小,会使用ZIP压缩文件之后再进行传输。HTTP协议中存在内容编码也有类似的功能,进行实体内容编码。

客户端负责解码,常用的内容编码:gzip(GNU zip)、compress(UNIX系统中的标准压缩)

分割发送的分块传输编码:把实体主体分块的功能称为分块传输编码,分块传输编码分为多个块,每个块都会用十六进制来标记块的大小,最后一个块会用"0(CR+LF)"来标记。

发送多种数据的多部分对象集合:类似于邮件传输的MIME(Multipurpose Internet Mail Extemsions)功能,HTTP也采用了多部分对象集合,发送一个报文时可以含有多个类型实体,通常是图片或者文件上传时使用。

multipart/form-data用于web表单上传文件时使用

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

multipart/form-data、multipart/by,在使用字符串来分割实体之前要插入"--"标记进行分割。

获取部分内容的请求范围:可以获取资源的部分内容,适用于断开之后从接受了资源处开始继续请求资源,指定范围请求

对一份 10 000 字节大小的资源,如果使用范围请求,可以只请求 5001~10 000 字节内的资源。

内容协商:返回最合适的内容,涉及到浏览器默认语言、字符集、编码等设置,请求服务器会返回最适合的内容

包含在请求报文中的某些首部字段就是判断的基准,如:Accept、Accept-Charset、Accept-Encode、Accept-Language、Content-Language

内容协商技术:服务器驱动协商:由服务器进行内容协商

客户端驱动协商:由客户端进行内容协商的方式。用户从浏览器的可选列表中手动选择。

透明协商:由服务器和客户端驱动的结合体


相关推荐
三坛海会大神5554 小时前
计算机网络参考模型与子网划分
网络·计算机网络
iナナ10 小时前
传输层协议——UDP和TCP
网络·网络协议·tcp/ip·udp
舒一笑11 小时前
Mac 上安装并使用 frpc(FRP 内网穿透客户端)指南
后端·网络协议·程序员
Mr_Xuhhh15 小时前
NAT、代理服务、内网穿透
网络·网络协议·http·https·udp·智能路由器
用户849137175471617 小时前
为什么大模型都离不开SSE?带你搞懂第1章〈SSE技术基础与原理〉
前端·网络协议·llm
weisian1511 天前
HTTP协议-3-HTTP/2是如何维持长连接的?
网络·网络协议·http
图灵学术计算机论文辅导1 天前
论文推荐|迁移学习+多模态特征融合
论文阅读·人工智能·深度学习·计算机网络·算法·计算机视觉·目标跟踪
x.Jessica1 天前
网络的构成元素
网络·学习·计算机网络
tan77º1 天前
【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
linux·网络·分布式·网络协议·tcp/ip·rpc·json
墨雨听阁2 天前
8.18网络编程——基于UDP的TFTP文件传输客户端
网络·网络协议·学习·udp