随笔 - 45,  文章 - 0,  评论 - 2,  阅读 - 8961

一次理解透http如何传送数据包

HTTP通信可概括为:

浏览器→ 建立连接→发送请求数据→ web server→ 返回响应数据包→ 浏览器→ 关闭连接

浏览器请求(Request)数据包,web server接收请求后作出响应(Response),发送返回数据包,浏览器接收返回数据包。浏览器与web server中间可以添加代理(Proxy)。

代理(Proxy)在HTTP通信中对与数据包传递的作用是:添加在浏览器和web server中间,可对二者间传递的数据包进行拦截、查看、修改操作。

添加代理后,HTTP简要通信过程为:

浏览器发送请求数据包后首先到达代理服务器,代理服务器再发送给web server,同样,web server响应的返回数据包也首先到达代理服务器,再发送到浏览器。这样通过代理服务器,可以对通信过程中的数据包进行更多的操作。

HTTP通信中主要包含两种数据包:请求数据包和返回数据包

Request请求数据包格式

请求数据包分为四部分:请求行、请求头、空行和请求体。接下来分别对这四个部分进行介绍。

    1.请求行:由三个标记组成(请求方法、请求URL和HTTP版本),包含内容为请求类型、请求资源路径,协议的版本和类型,具体表达是三个标记。

                    (1)HTTP:规划了8种可能的请求方法。

                    (2)GET:检索URL中标识资源的一个简单请求。

                    (3)HEAD:与GET方法相同,服务器只返回状态行和头标,并不返回请求文档。

                    (4)POST:服务器接受被写入客户端输出流中的数据的请求

                    (5)PUT:服务器保存请求数据作为制定URL新内容的请求。

                    (6)DELETE:服务器删除URL中命令的资源的请求。

                    (7)OPTIONS:关于服务器支持的请求方法信息的请求。

                    (8)TRACE:web服务器反馈HTTP请求和其头标的请求

                    (9)CONNECT:已文档化,但当前未实现的一个方法,预留做隧道处理。 

    2.请求头:由关键字或值对组成,每行一对,关键字和值用冒号分开,请求头标通知服务器腾于客户端的功能和标识。

                    (1)HOST:主机或域名地址。

                    (2)ACCEPT:指浏览器和其他客户可以接收的MIME文件格式。

                    (3)User-Agent:客户浏览器的名称。

                    (4)connection:用来告诉服务器是否可以维持固定的HTTP连接。

                    (5)Cookie:向服务器发送Cookie(小型数据体)。

                    (6)Referer:表明产生请求的网页URL。

    3.空行:请求头与请求体间用一个空行隔开。

    4.请求体:要发送的数据。

Response请求数据包格式

​ 返回数据包包括四部分:状态行、响应头标、空行和响应体。接下来分别对这四个部分进行介绍。

    1.状态行:协议版本、数字形式的状态代码和状态描述。各元素间以空格分隔。

                    HTTP响应码: 1XX——信息、请求收到、继续处理

                                            2XX——成功,行为成功地被接受、理解和采纳。

                                           3XX——重定向,为了完成请求,必须进一步执行的动作。

                                            4XX——客户端错误。

                                            5XX——服务器错误。

    2.响应头标:包含服务器类型、日期、长度、内容类型等。

    3.空行:响应头+空行+响应体,即响应头与响应体间以空行隔开。

    4.响应体:浏览器会将实体内容中的数据取出来,生成相应的页面。

总结:***我们刚开头就说http发起请求到页面渲染一共经历了****

浏览器 → 建立连接 → 发送请求数据 → web server → 返回响应数据包 → 浏览器 → 关闭连接

也就是:::::::::::

请求阶段:浏览器发起请求 → 建立连接(tcp三次握手) → 发送请求数据包 → web server(服务器)

响应阶段:web server(服务器) → 返回响应数据包 → 浏览器渲染 →关闭连接(tcp四次挥手)

posted on   玉龙龙玉  阅读(465)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

欢迎这位怪蜀黍来到《一次理解透http如何传送数据包 - 玉龙龙玉 - 博客园》
点击右上角即可分享
微信分享提示