HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
  • 《LearnJavaToFindAJob》

    • 导读

    • 【初级】6~12k档

      • Java基础

      • JVM

      • 牛客网题库

      • MySQL

      • Linux

      • 计算机网络

        • 计算机网络面试题
        • HTTP1.0、HTTP1.1、HTTP2.0的区别
        • HTTPS的工作过程
        • HTTP和TCP的keep-alive区别
        • HTTP请求的方式
        • 短连接、长连接区别和场景
      • 操作系统

      • Java框架

    • 【中级】12k-26k档

    • 【高级】26k+档

    • 大厂面试题

    • 求职建议

    • 面经

  • LearnJavaToFindAJob
  • 【初级】6~12k档
  • 计算机网络
#短连接 #长连接区别 #场景
码农阿雨
2022-06-02
目录

短连接、长连接区别和场景

http的长连接和短连接实际上是TCP的长连接和短连接。

每个TCP连接都需要三次握手。

# 短连接:

http 1.0默认使用的是短连接。client每次请求Server都会建立一次连接,用完中断连接。

适用于Web【wapWeb/H5等】的http服务,长连接对于服务端来说会耗费一定资源。

WEB 网站的 http 服务一般都用短链接(用户需要请求则新开一个socket),比如一些css、js资源请求都是短连接。

对于电子商务Web的访问量可能是千万级别甚至亿万级别的。如果使用长连接的方式 当一万个用户访问时会占用一万个连接,假设服务器站点(IIS等)的通信吞吐量只有1千个,那么另外9千人就彻底挂啦,所以并发量大且用户不需要频繁的交互式操作时,用短连接为上策。

# 长连接:

三次握手后,一直使用该socket。比如打开一个网页,只要你不关闭这个网页,

从 HTTP/1.1 起,默认使用长连接,通过在响应头加入:

Connection:keep-alive

实现。

但不代表永久保持连接,只是有一个保持时间,可以通过服务器设定,而且实现长连接需要客户端和服务端都支持长连接。

即时通讯、游戏、视频 使用的是长连接。

Durid数据库连接池也是长连接。( 如果用短连接频繁的通信会造成 socket 错误,而且频繁的 socket创建也是对资源的浪费)

# 总结:

长连接可以理解为整个通讯的过程。例如:client和server只用一个Socket,从而保持长期的通讯连接;

短链接可以理解为每次client向Socket发送请求都会新建一个Socket,当处理完一个请求时就直接关闭掉Socket;

区分长/短连接:整个客户端和服务端的通讯过程是利用一个Socket还是多个Socket进行的。

阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
#短连接#长连接区别#场景
上次更新: 2025-02-21 06:04:57
最近更新
01
《LeetCode 101》
02-21
02
IDEA、Golang、Pycharm破解安装
02-21
03
《LeetCode CookBook》
02-21
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式