HTTP/1.1 的性能

HTTP 协议是基于 TCP/IP,并且使用了「请求 – 应答」的通信模式,所以性能的关键就在这两点里。

1. 长连接
早期 HTTP/1.0 性能上的一个很大的问题,那就是每发起一个请求,都要新建一次 TCP 连接(三次握手),而且是串行请求,做了无谓的 TCP 连接建立和断开,增加了通信开销。为了解决上述 TCP 连接问题,HTTP/1.1 提出了长连接的通信方式,也叫持久连接。这种方式的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。

持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态。

HTTP/1.1 的性能

2. 管道网络传输
HTTP/1.1 采用了长连接;的方式,这使得管道(pipeline)网络传输成为了可能。即可在同一个 TCP 连接里面,客户端可以发起多个请求,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。
举例来说,客户端需要请求两个资源。以前的做法是,在同一个TCP连接里面,先发送 A 请求,然后等待服务器做出回应,收到后再发出 B 请求。管道机制则是允许浏览器同时发出 A 请求和 B 请求。

HTTP/1.1 的性能

3. 队头阻塞

但是服务器还是按照顺序,先回应 A 请求,完成后再回应 B 请求。要是前面的回应特别慢,后面就会有许多请求排队等着。这称为「队头堵塞」。

当顺序发送的请求序列中的一个请求因为某种原因被阻塞时,在后面排队的所有请求也一同被阻塞了,会招致客户端一直请求不到数据。

HTTP/1.1 的性能

总之 HTTP/1.1 的性能一般般,后续的 HTTP/2 和 HTTP/3 就是在优化 HTTP 的性能。

互相发泄是弱者对付不幸的唯一手段。生活中总有些人喜欢处处挑剔别人的错,最后自己也过不好。而有的人通过反思自己,不断弥补自身不足,从而活的更通透。做人最忌讳的就是遇事只会对着别人发泄情绪,却不从自己身上找原因。行走于人世间,养一张宽容之口,修一颗自省之心。

Original: https://www.cnblogs.com/lzcnblogs/p/16667190.html
Author: 心如__止水
Title: HTTP/1.1 的性能

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/601822/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python数据处理与可视化分析——某年河北省旅游景点数据

    可视化分析某年河北省旅游景点数据 4.1 数据的爬取 代码: import pandas as pd import numpy as np file_path=open(r’风景名…

    Python 2023年8月1日
    048
  • 一文搞懂mysql索引底层逻辑,干货满满!

    一、 什么是索引 二、 为什么要用索引 例如,我们通过查询语句查询一条记录:select * from table where Col2 = 85,如果没有索引的话,那么它将从第一…

    Python 2023年10月22日
    034
  • Python-Numpy中的矩阵和数组运算

    〇 、前言 一 、数组(Array)与矩阵(Matrix) *讲讲一维数据(一行或一列数据) Example1 Example2 numpy.matrix() 二 、各种运算 0、…

    Python 2023年8月25日
    051
  • Part14:Pandas批量拆分与合并Excel文件

    Pandas批量拆分Excel与合并Excel 实例演示: 1.将一个大Excel等份拆成多个Excel 2.将多个小Excel合并成一个大Excel并标记来源 #&#x6…

    Python 2023年8月8日
    057
  • BN层多方面解读

    BN层全面解读 * – + * 1. BN层作用概述 * 2. BN层作用方式 * 3. BN作用位置 * 4. BN层起作用的原因 * 5. 测试时的BN层 1. B…

    Python 2023年8月2日
    063
  • 【单片机入门】(四)应用层软件开发的单片机学习之路—–ESP32开发板PWM控制电机以及中断的使用

    引言 各位大佬,晚上好啊,在上一篇博客中,我们讲了什么是UART串口通讯,以及使用USB转TTL使得单片机可以和c#上位机做一个串口通讯,接下来,为大家带来PWM的概念原理,以及实…

    Python 2023年10月16日
    037
  • python快速实现数字华容道小游戏

    华容道,中国历史地名。据《资治通鉴》注释中的说法,就是”从此道可至华容也”。这里所说的华容,当然是指华容县城。华容道也就是赤壁战争中曹军逃入华容县界后向华容…

    Python 2023年9月21日
    065
  • MATLAB中print函数使用

    打印图窗纸张副本 将图窗复制到剪贴板 将图窗另存为图像文件 将图窗另存为向量图形文件 向 EPS 文件添加 TIFF 预览 指定要保存的图窗 以屏幕大小和分辨率保存图窗 保存填满页…

    Python 2023年8月2日
    0103
  • Dapr v1.9.0 版本已发布

    Dapr是一套开源、可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性、微服务、无状态以及有状态等应用程序类型。Dapr能够确保开发人员专注于编写业务逻辑,而不必…

    Python 2023年10月18日
    040
  • 用Python写一个新年倒计时

    ❤️‍🔥前言:春回大地,万象更新!春在招手,朋友们,我们一起互相祝愿吧!一年更比一年好。时光苒,岁月如梭。踏着新年欢快的钟声,我们又迎来了这个期待已久的日子过去的一年,我们有泪水也…

    Python 2023年9月26日
    044
  • Pandas-DataFrame使用

    文章目录 * – 1.创建DataFrame数据 – + 1.1 给DataFrame添加数据 + 1.3 给行索引和列索引起名 + 1.4 判断数据是否在…

    Python 2023年8月18日
    032
  • flask框架的使用

    一、路由 路由:处理URL和视图函数的这种关系,访问index则执行index视图函数。 from flask import Flask app = Flask(__name__)…

    Python 2023年8月10日
    049
  • 【HDFS】一次Namenode的RPC延迟故障排查引发的深入思考

    一次Namenode的RPC延迟故障排查引发的深入思考 前言 正文 * 问题排查 – 初步定位 临时恢复 定位可疑进程 问题分析 – 问题脚本分析 问题原因…

    Python 2023年6月11日
    0134
  • CH58X/CH57X/V208 Observer(观察者)例程讨论讲解

    使用的是沁恒的CH582M的Observer例程与官方的demo板。 本例程的功能是主机扫描到从机的MAC地址并打印出来。 先对宏定义进行理解讨论。 最大响应扫描数为8,在串口调试…

    Python 2023年10月15日
    052
  • 抖音同款课堂点名系统PyQt5写起来很简单

    刷抖音的时候发现一个老师在用的课堂点名系统。用PyQt5实现了一下同款,导入学生姓名,测试了一下完美运行。 【阅读全文】 操作效果展示: 完整的源代码块仍然放在本文的后面,所以您需…

    Python 2023年5月24日
    098
  • matplotlib添加字体、字体格式自定义

    文章目录 1.向matplotlib添加字体 2.画图时自定义字体格式 * 2.0 修改全局字体 2.1 用fontproperties参数的一类方法 2.2 用prop参数的一类…

    Python 2023年8月31日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球