HTTP1.1 wireshark分析

这篇具有很好参考价值的文章主要介绍了HTTP1.1 wireshark分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本地springboot启动一个简单的服务,然后请求测试

tcpdump -i lo0 -nnvv -w tmp.cap tcpdump 本地回环网卡

http1.1

HTTP/1.0 每进行一次通信,都需要经历建立连接传输数据断开连接三个阶段。当一个页面引用了较多的外部文件时,这个建立连接和断开连接的过程就会增加大量网络开销。

为了解决 HTTP/1.0 的问题,1999 年推出的 HTTP/1.1 有以下特点:

  • 长连接:引入了 TCP 连接复用,即一个 TCP 默认不关闭,可以被多个请求复用
  • 并发连接:对一个域名的请求允许分配多个长连接(缓解了长连接中的「队头阻塞」问题)
  • 引入管道机制(pipelining),一个 TCP 连接,可以同时发送多个请求。(响应的顺序必须和请求的顺序一致,因此不常用)
  • 增加了 PUT、DELETE、OPTIONS、PATCH 等新的方法
  • 新增了一些缓存的字段(If-Modified-Since, If-None-Match)
  • 请求头中引入了 range 字段,支持断点续传
  • 允许响应数据分块(chunked),利于传输大文件
  • 强制要求 Host 头,让互联网主机托管称为可能
    ————————————————
    版权声明:本文为CSDN博主「前端南玖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_41960279/article/details/123786121

wireshark分析http 1.1 keep-alive的2次http请求

如下图所示:
HTTP1.1 wireshark分析,wireshark,网络

当8080端口还没有好的时候,我们浏览器请求可以看到如下对话
HTTP1.1 wireshark分析,wireshark,网络

客户端SYN要去链接,但是服务端一直返回RST。

附RST标志位:

RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。就像上面说的一样,发送RST包关闭连接时,不必等缓冲区的包都发出去(不像上面的FIN包),直接就丢弃缓存区的包发送RST包。而接收端收到RST包后,也不必发送ACK包来确认。

TCP处理程序会在自己认为的异常时刻发送RST包。例如,A向B发起连接,但B之上并未监听相应的端口,这时B操作系统上的TCP处理程序会发RST包。

又比如,AB正常建立连接了,正在通讯时,A向B发送了FIN包要求关连接,B发送ACK后,网断了,A通过若干原因放弃了这个连接(例如进程重启)。网通了后,B又开始发数据包,A收到后表示压力很大,不知道这野连接哪来的,就发了个RST包强制把连接关了,B收到后会出现connect reset by peer错误。


SpringBoot项目8080端口启动成功后,可以看到TCP三次握手成功

HTTP1.1 wireshark分析,wireshark,网络


接着看到Tcp window update:TCPWindowUpdate是TCP通信中的一个状态,可以发生的原因有很多,但最终归结于发送者传输数据的速度比接收者读取的数据还快,这使得接受端的在缓冲区必须释放一部分空间来装发送过来的数据,然后向发送者发送WindowsUpdate,告诉给发送者应该以多大的速度发送数据,从而使得数据传输与接受恢复正常。

  • 附:Wireshark的TCP提示
    Tcp previous segment lost(tcp先前的分片丢失)
    Tcpacked lost segment(tcp应答丢失)
    Tcp window update(tcp窗口更新)
    Tcp dup ack(tcp重复应答)
    Tcp keep alive(tcp保持活动)
    Tcp retransmission(tcp重传)
    Tcp ACKed unseen segument (tcp看不见确认应答)
    tcp port numbers reused(tcp端口重复使用)
    tcp retransmission(tcp重传)
    tcp fast retransmission (tcp快速重传)
    TCP Previoussegment lost(发送方数据段丢失)
    tcp spurious retransmission(tcp伪重传)

接着http请求发送
HTTP1.1 wireshark分析,wireshark,网络

http的服务端响应请求返回
HTTP1.1 wireshark分析,wireshark,网络

接着的一次http请求响应(http1.1 Keep-Alive 服用了TCP连接,不用断开重连了)
HTTP1.1 wireshark分析,wireshark,网络

客户端4次挥手断开链接
HTTP1.1 wireshark分析,wireshark,网络

wireshark分析http1.1 keep-alive过期的2次请求

常见的keep-alive参数

  • 客户端 IE默认的KeepAliveTimeout是1分钟

  • 服务器 IIS默认ConnectionTimeout时长是2min

  • 服务器 ASP.NetCore Kestrel默认的KeepAliveTimeout=130s

  • 服务器 nginx默认的keepalive_timeout=60s

当一次http请求keep-alive过期后,如下图可以看到服务端会发起TCP断开连接,完成4次挥手

HTTP1.1 wireshark分析,wireshark,网络

接着的一次http请求又重新进行了TCP三次握手

HTTP1.1 wireshark分析,wireshark,网络

keep-alive报文

http请求设置Kepp-Alive时间
HTTP1.1 wireshark分析,wireshark,网络
过期时间3秒,max是最多一百次请求,强制断掉连接,就是在timeout时间内又有新的连接过来,同时max会自动减1,直到为0,强制断掉。

HTTP1.1 wireshark分析,wireshark,网络

  • 客户端向服务端发送:TCP探测包(TCP Keep-Alive)
  • 服务端向客户端返回:ACK(TCP Keep-Alive ACK)
    HTTP1.1 wireshark分析,wireshark,网络

TCP KeepAlive探测报文是一种没有任何数据,同时ACK标志被置上的报文,报文中的序列号为上次发生数据交互时TCP报文序列号减1。比如上次本端和对端数据交互的最后时刻,对端回应给本端的ACK报文序列号为 N(即下次本端向对端发送数据,序列号应该为N),则本端向对端发送的保活探测报文序列号应该为 N-1。文章来源地址https://www.toymoban.com/news/detail-596691.html

到了这里,关于HTTP1.1 wireshark分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTP1.0、HTTP1.1、HTTP2.0 协议的区别

    HTTP 1.1相比HTTP 1.0具有以下优点: 1. 持久连接 :HTTP 1.1引入了持久连接机制,允许多个请求和响应复用同一个TCP连接。这样可以减少建立和关闭连接的开销,提高性能和效率。 2. 流水线处理 :HTTP 1.1支持流水线处理,即可以同时发送多个请求,不需要等待前一个请求的响应。

    2024年02月05日
    浏览(19)
  • HTTP1.0、HTTP1.1、HTTP2.0 协议的特点

    HTTP(Hypertext Transfer Protocol)是一种用于在Web浏览器和Web服务器之间传输数据的协议。HTTP的版本有很多,其中比较常见的有 HTTP 1.0 、 HTTP 1.1 和 HTTP 2.0 ,它们有各自的特点。 HTTP 1.0 的特点: 1. 每个请求/响应需要建立新的TCP连接,并在完成后关闭连接,导致较高的延迟。 2. 每

    2024年02月05日
    浏览(20)
  • HTTP1.0和HTTP1.1和HTTP2.0的主要区别

    先上结论,面试常问,同时也是我们学习HTTP协议所必须了解的一些新机制,我们往往学习的都是HTTP1.0的一些基础,1.1 2.0也是企业中常用的东西,也优化了很多nb的属性,下面我们简单来了解下! HTTP 是基于TCP/IP协议的,每一次 建立或者断开连接 都需要三次握手四次挥手的 开销

    2023年04月17日
    浏览(20)
  • http1.0,http1.1,http2.0,http3.0 区别有哪些

    20 世纪 60 年代,美国国防部高等研究计划署(ARPA)建立了 ARPA 网,这被认为是互联网的起源。70 年代,研究人员基于对 ARPA 网的实践和思考,发明出了著名的 TCP/IP 协议。该协议具有良好的分层结构和稳定的性能,并在 80 年代中期进入了 UNIX 系统内核,促使更多的计算机接

    2024年02月08日
    浏览(13)
  • 【网络安全---ICMP报文分析】Wireshark教程----Wireshark 分析ICMP报文数据试验

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 两台kali主机(虚拟机)                  kali2022   192.168.220.129/24                 kali2022   192.168.220.3/27 1-2-1 网关配置:    编辑-------- 虚拟网路编辑器

    2024年02月07日
    浏览(16)
  • 【网络工程】网络流量分析工具 Wireshark

    Wireshark (前身 Ethereal):它是一个强大的网络封包分析软件工具 ! 此工具使用WinPCAP作为接口,直接与网卡进行数据报文交换。主要用来捕获截取网络数据包的,并自动解析数据包为用户显示数据包详细信息,供用户对数据包进行分析。 下载及安装: 点击这里 1.打开网址,进入

    2024年02月13日
    浏览(16)
  • Wireshark网络封包分析

    Wireshark是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口(现在普遍使用的是Npcap),直接与网卡进行数据报文交换。 Npcap是一个网络数据包抓包工具,是WinPcap的改进版;它支持NDIS6技术

    2024年02月05日
    浏览(14)
  • 《计算机网络-自顶向下》wireShark实验-第二章:http

    我们开始探索HTTP,方法是 下载一个非常简单的HTML文件 。非常短,并且 不包含嵌入的对象 。执行以下操作: 启动您的浏览器。 启动Wireshark数据包嗅探器,如Wireshark实验-入门所述(还没开始数据包捕获)。 在display-filter-specification窗口中输入“http”(只是字母,不含引号标

    2024年02月19日
    浏览(15)
  • 【网络协议分析】利用Wireshark分析IP分片

    一、实验目的 利用 Wireshark 软件抓包分析 IP 分片,了解IP分片的工作原理。 二、实验过程 1 、网络拓扑 设备 IP 地址 设备接口 MTU AR1 172.30.132.164 Ethernet 0/0/0 700 AR2 172.30.132.165 Ethernet 0/0/0 1200 2 、实验过程 (1)在eNSP中按网络拓扑搭建网络,并配置好IP地址、子网掩码等。 (2)

    2024年02月20日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包