|
|
本帖最后由 2011yaya2007777 于 2026-5-5 16:32 编辑
看了“江南一根葱"的帖子中提到 NBPxeServer 支持 HTTP/1.1 持久连接(Keep-Alive),于是百度学习了一下。
HTTP 的 Keep-Alive 机制(也称为持久连接)是优化网络性能的关键技术,尤其在前端性能优化中高频出现。
传统 HTTP/1.0 默认每次请求需新建 TCP 连接,请求完成后立即断开(三次握手 + 四次挥手带来高延迟)。
有些 HTTP/1.0 也支持持久连接,但是使用前必须明确协商:
客户端请求头:Connection: Keep-Alive
服务端响应头:Connection: Keep-Alive
HTTP/1.1 默认支持并且开启持久连接,不用明确协商。但是有些服务器附带的 HTTP/1.1 却并不支持持久连接。
为了判断 HTTP/1.1 是否支持持久连接,也需要客户端发出请求:Connection: Keep-Alive,看看服务器是否返回响应:Connection: Keep-Alive。
测试HTTP/1.1服务:
1. EasyWebServer/1.9
断点续传:完美支持
持久连接:完美支持。客户端发出请求头:Connection: Keep-Alive,服务端返回响应头:Connection: Keep-Alive。
2. TinyPXEServer-1.0.0.23 自带(Indy/9.00.10)
断点续传:有限支持
持久连接:完美支持。客户端发出请求头:Connection: Keep-Alive,服务端返回响应头:Connection: Keep-Alive。
3. zemu-0.3.0 自带(Embeddable Web Server/1.1.3)
断点续传:完美支持
持久连接:不支持。
4. NBPxeServer-x64 自带(SimpleHTTP/0.6 Python/3.8.10)
断点续传:完美支持
持久连接:完美支持。
启动 PE.iso(230Mb)
1. 非持久连接:连带启动bootx64.efi文件,12.621秒。不带的话12.587秒。
2. 持久连接:连带启动bootx64.efi文件,12.045秒。不带的话12.017秒。
启动boot.WIM(307Mb)
1. 非持久连接:连带启动bootx64.efi文件,14.807秒。不带的话14.790秒。
2. 持久连接:连带启动bootx64.efi文件,14.673秒。不带的话14.646秒。
看来对于小文件节省不了多少时间。但是对于传输大文件,时间长,可能有影响。
GRUB4EFI 启动时自动判断是否支持持久连接,自动适应。
也可以在菜单内设置:
set keep=0 #不使用持久连接
set keep=1 #使用持久连接
|
|