zoukankan      html  css  js  c++  java
  • HTTP 长连接和短连接

    一直对HTTP的东西就了解得不多,算是一点一点积累吧。分析比较一下长连接和短连接的区别。

    HTTP的长连接和短连接实质上说的是TCP的长连接和短连接。

    长连接

    定义

    是指客户端和服务器建立连接后,短时间内保持连接,以便下一次的数据传输。长连接的操作步骤如下:

    长连接:建立连接 -> 数据传输 .. (保持连接)  ...数据传输 -> 关闭连接
    

    特点

    • HTTP/1.1起,默认使用长连接来保持连接特性。
    • 使用长连接的协议会在响应头部里面,加入如下字段:

    • 如图所示,Keep-Alive并不会永久保持连接,它有一个保持时间,可以在不同的服务器软件中设定这个时间。

    • 实现长连接需要客户端和服务器都支持长连接。

    • 长连接可以省去较多的TCP建立和关闭的操作,减少浪费,节约时间。对于频繁请求资源的客户来说,较适用长连接。

    • 适用场景:多用于操作频繁,点对点通讯,而且连接数不太多的情况。例如数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket创建也是对资源的浪费。

    短连接

    含义

    是指客户端和服务器每进行一次数据传输,就建立一次连接。数据传输完成之后,就关闭连接,并不保持连接。短连接的操作步骤如下:

    短连接: 建立连接 -> 数据传输 -> 关闭连接.. 建立连接 -> 数据传输 -> 关闭连接..
    

    特点

    • HTTP/1.0中,默认的是短连接
    • 短连接对于服务器来说管理较为简单,存在的连接都是有用的连接,不需要额外的控制手段。但如果客户请求频繁,将在 TCP 的建立和关闭操作上浪费时间和带宽。
    • 适用场景:Web网站的http服务一般用短连接,因为长连接对服务器来说会耗费一定的资源,所以,在并发量大,用户无需频繁操作的情况下,用短连接好。

    参考

  • 相关阅读:
    谷歌浏览器最新版下载链接
    第二章 算法——程序的灵魂
    第一章:程序设计和C语言
    C语言程序设计·谭浩强(第四版)第二章课后习题的答案,算法——程序的灵魂
    面向对象之类的其他方法
    面向对象之反射、包装、(定制)
    PyCharm使用秘籍视频
    re模块(详解正则)
    ATM购物车程序项目规范(更新到高级版)
    音乐脚本
  • 原文地址:https://www.cnblogs.com/lengender-12/p/6891546.html
Copyright © 2011-2022 走看看