• HTTP的连接


    HTTP的连接

    长连接和短连接

    • HTTP协议是基于请求-响应模式的,因此只要服务器给了响应,本次HTTP请求就结束了。
    • HTTP的长连接和短连接本质上是TCP长连接和短连接。
    • 在HTTP/1.0中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,结束就中断。
    • HTTP/1.1起,默认使用长连接,用以保持连接特性。

    HTTP/1.0版本

    HTTP协议的初始版本中,一次HTTP请求

    HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接。

    在这里插入图片描述

    HTTP协议的初始版本中,多次HTTP请求

    当使用浏览器浏览一个包含多张图片的HTML页面时,在发送请求访问HTML页面资源的同时,也会请求该HTML页面里包含的其他资源。因此,每次的请求都会造成无谓的TCP连接建立和断开,增加通信量的开销。

    在这里插入图片描述

    HTTP/1.1版本

    在HTTP/1.1中,持久连接

    为解决上述TCP连接的问题,HTTP/1.1和一部分的HTTP/1.0想出了持久连接(HTTP Persistent Connections,也称为HTTP keep-alive或HTTP connection reuse)的方法。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态。

    持久连接的好处在于减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。另外,减少开销的那部分时间,使HTTP请求和响应能够更早地结束,这样Web页面的显示速度也就相应提高了。

    在HTTP/1.1中,所有的连接默认都是持久连接,但在HTTP/1.0内并未标准化。虽然有一部分服务器通过非标准的手段实现了持久连接,但服务器端不一定能够支持持久连接。毫无疑问,除了服务器端,客户端也需要支持持久连接。

    在这里插入图片描述

    管线化

    持久连接使得多数请求以管线化(pipelining)方式发送成为可能。从前发送请求后需等待并收到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。这样就能够做到同时并行发送多个请求,而不需要一个接一个地等待响应了。

    在这里插入图片描述

    比如,当请求一个包含10张图片的HTML Web页面,与挨个连接相比,用持久连接可以让请求更快结束。而管线化技术则比持久连接还要快。请求数越多,时间差就越明显。

  • 相关阅读:
    【OpenCV】Chapter2.图像的数值运算
    C#变量命名规则(命名规范)
    上海某外企网络工程师面试题「含答案」
    SpringSecurity系列 - 12 自定义过滤器实现登录页面添加验证码的认证
    软件测试之单元测试
    UNI-APP_获取手机品牌
    阿里一面:多线程顺序运行有多少种方法?
    tf.Variable
    深入理解Java单例模式和优化多线程任务处理
    智能创新,竞技未来!1024 程序员节大赛火热进行中
  • 原文地址:https://blog.csdn.net/qq_14876133/article/details/127652778