🎬 HoRain云小助手:个人主页
🔥 个人专栏: 《Linux 系列教程》《c语言教程》
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
专栏介绍
专栏名称 | 专栏介绍 |
《C语言》 | 本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。 |
《网络协议》 | 本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制! |
《docker容器精解篇》 | 全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。 |
《linux系列》 | 本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。 |
《python 系列》 | 本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。 |
《试题库》 | 本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等) |
目录
⛳️ 推荐
专栏介绍
🔍 请求报文:客户端发起请求
📡 响应报文:服务器返回结果
💡 重要特性与头部字段
HTTP报文是在HTTP协议中用于在客户端和服务器之间传输数据的基本单位,分为请求报文和响应报文。理解它们的结构是掌握HTTP协议的关键。
下面这个表格能让你快速抓住它们的核心组成部分:
组成部分 | 请求报文 | 响应报文 |
|---|---|---|
起始行 | 请求行(包含方法、URL、版本) | 状态行(包含版本、状态码、原因短语) |
头部字段 | 描述客户端、请求条件等信息 | 描述服务器、响应体等信息 |
空行 | 标识头部字段结束 | 标识头部字段结束 |
消息体 | 发送给服务器的数据(如POST表单数据) | 返回给客户端的数据(如HTML、图片) |
🔍 请求报文:客户端发起请求
当你的浏览器要获取一个网页时,它会向服务器发送一个请求报文。
请求行
这是报文的第一行,包含了最基本的请求信息,由三部分构成:
方法:表示请求的目的。最常用的是
GET(获取资源)和POST(提交数据)。其他方法如PUT(更新资源)、DELETE(删除资源)等也各有用途。请求目标:通常是URL的路径部分,指明请求的资源位置。
版本:使用的HTTP协议版本,如
HTTP/1.1或HTTP/2。
请求头
请求行之后是若干行头部字段,每行一个键值对,用于向服务器传递附加信息。常见的请求头包括:
Host:指定请求的服务器域名(HTTP/1.1必须包含此字段)。User-Agent:描述客户端软件(浏览器、操作系统)的信息。Accept:告知服务器客户端能够处理哪些类型的媒体(如text/html, application/json)。Content-Length:当使用POST等方法提交数据时,该字段指明消息体的长度。
空行
所有头部字段结束后,需要一个空行来标记头部的结束。
消息体
空行之后的部分就是可选的消息体。
GET请求通常没有消息体,而POST请求将需要提交的表单数据等放在消息体中。
📡 响应报文:服务器返回结果
服务器接收到请求后,会返回一个响应报文。
状态行
这是响应报文的第一行,也由三部分构成:
版本:同上。
状态码:一个三位数字,表示请求的结果。例如,
200代表成功,404代表未找到资源,500代表服务器内部错误。原因短语:对状态码的简短文字描述(如
OK,Not Found)。
响应头
与请求头类似,用于描述服务器和响应体的信息。常见的响应头包括:
Server:描述服务器软件信息。Content-Type:指明响应体的媒体类型(如text/html; charset=UTF-8)。Content-Length:指明响应体的长度。Set-Cookie:服务器设置Cookie到客户端。
空行
同样,头部字段结束后需要一个空行。
消息体
空行之后是服务器返回的实际数据,比如浏览器请求的HTML文档、图片或JSON数据等。
💡 重要特性与头部字段
HTTP/1.1 持久连接:在HTTP/1.1中,默认使用持久连接(
Connection: keep-alive),允许在同一个TCP连接上发送多个请求和响应,减少了建立连接的开销,提高了效率。内容协商:通过
Accept*系列请求头(如Accept-Encoding: gzip)和对应的响应头(如Content-Encoding: gzip),客户端和服务器可以协商传输内容的编码、语言等,以优化传输。无状态性:HTTP协议本身是无状态的,意味着服务器不记录之前的请求信息。为了维持会话状态,通常使用
Cookie(请求头)和Set-Cookie(响应头)机制。
希望这份详解能帮助你牢固掌握HTTP报文的知识!如果你对某个特定状态码或头部字段的细节感兴趣,我们可以继续深入探讨。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙