RSocket 学习(二):HTTP VS WebSocket

2021-05-21  本文已影响0人  fengzhizi715

在比对 HTTP、WebSocket、RSocket 之前,我们先通过下面这张 OSI 七层模型的图快速梳理一下网络通信的面貌, 以便后续更好地理解它们。

osi model.png

一. HTTP 的特性

超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。

HTTP 已经演化出了很多版本,它们中的大部分都是向下兼容的。在 RFC 2145 中描述了 HTTP 版本号的用法。客户端在请求的开始告诉服务器它采用的协议版本号,而后者则在响应中采用相同或者更早的协议版本。

1.1 HTTP/0.9

已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。

1.2 HTTP/1.0

这是第一个在通讯中指定版本号的 HTTP 协议版本。

1.3 HTTP/1.1

在1997年初,HTTP1.1 标准发布,就在HTTP/1.0 发布的几个月后。

HTTP/1.1 默认采用持续连接(Connection: keep-alive),能很好地配合代理服务器工作。还支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度。

HTTP/1.1 相较于 HTTP/1.0 协议的区别主要体现在:

1.4 HTTP/2

HTTP/2 在 HTTP/1.1 有几处基本的不同:

1.5 HTTP/3

与其前任 HTTP/1.1 和 HTTP/2 不同,在 HTTP/3 中,将弃用 TCP 协议,改为使用基于 UDP 协议的 QUIC 协议实现。

HTTP/3 的优点包括:

二. WebSocket 的特性

WebSocket 是一种网络传输协议,可在单个TCP连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。

WebSocket 与 HTTP 的不同之处:

三. RSocket 与这些协议的对比

3.1 与 HTTP/1.1 & HTTP/2 对比

3.2 与 TCP & QUIC 对比

3.3 与 WebSocket 对比

参考资料

  1. 超文本传输协议
  2. HTTP的发展
  3. HTTP/3
  4. WebSocket

该系列的相关文章:
RSocket 学习(一):初探

上一篇 下一篇

猜你喜欢

热点阅读