长连接 & 短连接

目录

  • 短连接
  • 长连接
  • 适用场景
  • Http长连接 和 TCP长连接的区别

参考链接

怎么理解TCP的面向连接和UDP的无连接(不面向连接)?

长连接的几种实现方式

关于长连接和短连接的理解及使用场景

连接其实只是双方都维护了一个状态,通过每一次通信来维护状态的变更

短连接

HTTP 1.0

  • 客户端的每次请求都要求 建立一次单独的连接
  • 在处理完本次请求后,就 自动释放连接
  • 下次要取数据,需要 再次建立连接

长连接

HTTP 1.1 中则 可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待

  • 客户端和服务端建立连接后不进行断开
  • 客户端再次访问这个服务器的内容时,继续使用这一条连接通道

实现

  • 在请求响应头加入:Connection:keep-alive

长连接对于服务端来说会耗费一定资源

适用场景

短连接

  • 适用于网页浏览等 并发量大且用户不需要频繁的交互式操作 的场景

长连接

  • 适用于客户端和服务端 通信频繁 的场景,例如聊天室,实时游戏等
  • 点对点通讯等 连接数不多 的场景

Http长连接 和 TCP长连接的区别

TCP 的长连接需要自己去 维护一套心跳策略

Http 只需要 在请求头加入keep-alive:true即可实现长连接

你可能感兴趣的:(面试,计算机网络)