zoukankan      html  css  js  c++  java
  • HTTP 的 短连接、长连接、并行连接

    HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议);当使用 Keep-Alive 模式(又称持久连接、连接重用)时,Keep-Alive 功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive 功能避免了建立或者重新建立连接。

    • 短连接
      所谓短连接,就是每次请求一个资源就建立连接,请求完成后连接立马关闭。每次请求都经过“创建tcp连接->请求资源->响应资源->释放连接”这样的过程

    • 长连接
      所谓长连接(persistent connection),就是只建立一次连接,多次资源请求都复用该连接,完成后关闭。要请求一个页面上的十张图,只需要建立一次tcp连接,然后依次请求十张图,等待资源响应,释放连接。

    • 并行连接
      所谓并行连接(multiple connections),其实就是并发的短连接。

    如何开启 Keep-Alive(长连接)
    开启长连接,需要客户端和服务器同时设置 Keep-Alive,任何一方设置 close,双方都会在处理请求完成后关闭 TCP 连接。客户端发出的 HTTP 请求头需要增加Connection:keep-alive字段,服务器端要能识别Connection:keep-alive字段,并且在 http 的 response 里指定Connection:keep-alive字段,告诉客户端,我能提供 keep-alive 服务,并且"应允"客户端我暂时不会关闭 socket 连接

    ————————————————
    版权声明:本文为CSDN博主「海渊_haiyuan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/LL845876425/article/details/89743593

  • 相关阅读:
    IOI2021集训队作业 CK String Theory
    IOI2021集训队作业 123ED Gem Island
    IOI2021集训队作业 121MB Bipartite Blanket
    ASP.NET站点Web部署(一键发布的实现)
    HTTP文件上传
    前言
    关于 Mybatis的原生连接池 和 DBCP 连接池
    linux 学习 端口占用 && 内存使用
    跨域问题
    Cassandra 学习三 安装
  • 原文地址:https://www.cnblogs.com/MrZhujl/p/15069267.html
Copyright © 2011-2022 走看看