一篇关于HTTP & WebSocket有什么区别?你会吗?

网络 网络管理
WebSocket从满足基于Web的日益增长的实时通信需求应运而生,解决了客户端发起多个Http请求到服务器资源浏览器必须要在经过长时间的轮询问题,实现里多路复用,是全双工、双向、单套接字连接,在WebSocket协议下服务器和客户端可以同时发送信息。

[[412152]]

1 什么是WebSocket?

WebSocket从满足基于Web的日益增长的实时通信需求应运而生,解决了客户端发起多个Http请求到服务器资源浏览器必须要在经过长时间的轮询问题,实现里多路复用,是全双工、双向、单套接字连接,在WebSocket协议下服务器和客户端可以同时发送信息。

2 WebSocket和Http的异同点

同:

  • 建立在TCP之上,通过TCP协议来传输数据。
  • 都是可靠性传输协议。
  • 都是应用层协议。

异:

  • WebSocket是HTML5中的协议,支持持久连接,HTTP不支持持久连接
  • HTTP是单向协议,只能由客户端发起,做不到服务器主动向客户端推送信息。

3 WebSocket和Socket

Socket本身并不是一个协议,它工作在OSI模型会话层,是一个套接字,TCP/IP网络的API,是为了方便大家直接使用更底层协议而存在的一个抽象层。Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

而WebSocket则是一个典型的应用层协议。

4 WebSocket HTTP和TCP/IP

WebSocket和HTTP一样,都是建立在TCP之上,通过TCP来传输数据。

http和websocket并不能说是完全平等完全分开的两样东西,websocket准确地来说应该算是http的下属一个分类。

参考资料

  • https://zhihu.com/question/29615964
  • https://cnblogs.com/mengbin0546/p/12508848.html

 

责任编辑:武晓燕 来源: 前端人
相关推荐

2022-08-26 17:14:37

HTTP 1.0HTTP 1.1HTTP

2022-03-13 18:53:31

interfacetypeTypeScript

2023-12-15 09:21:17

ObjectJavaString

2022-06-08 07:34:25

InnoDBdeleteMySQL

2024-05-27 00:00:00

localhostIPv6IPv4

2023-11-21 22:23:06

2023-10-27 15:31:04

For循环Foreach循环

2024-06-03 14:09:48

2021-02-06 21:57:40

Debug模式Release

2022-08-26 01:41:42

GPUCPU架构

2021-07-27 08:02:45

DTO 软件Pojo

2023-12-13 13:31:00

useEffect对象浏览器

2024-03-05 18:19:07

localhostLinux数据库

2022-03-21 06:35:23

HTML5NginxWebSocket

2023-11-10 08:03:00

2020-03-09 20:56:19

LoRaLoRaWAN无线技术

2018-07-13 17:05:22

SQLMySQL数据库

2022-09-07 18:32:57

并发编程线程

2022-06-06 14:53:02

LoRaLoRaWAN
点赞
收藏

51CTO技术栈公众号