TCP 握手 : Server-Sent Events and WebSocket?

标签 tcp websocket handshake server-sent-events

我只是对网络技术不是很熟悉。

我想知道当SSE和WebSocket都通过HTTP通信时,在HTTP连接之前是否也有著名的TCP 3次握手?

如果是,WebSocket 会有两次 3 次握手?一个通过 TCP,第二个用于通过 HTTP 的升级方法?

提前致谢!

最佳答案

没错。

HTTP 建立在 TCP 之上。这意味着 HTTP 数据包在 TCP 数据包中。并且每个 HTTP 连接都需要先经过 TCP 握手。

Server-Sent-Events 基本上只是一个长时间运行的 HTTP 请求,它在需要时从服务器向客户端发送数据。它使用标准 HTTP header 来提供附加信息。

WebSockets 是一种全新的协议(protocol),它使用 HTTP 来发起连接。连接升级到新协议(protocol)。 WebSocket 握手的主要目的是确保双方使用相同的协议(protocol)并希望在该协议(protocol)的级别上相互交谈。

关于TCP 握手 : Server-Sent Events and WebSocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8728961/

相关文章:

sockets - 在 node.js 中保持 tcp 套接字打开

c - 从套接字描述符恢复 IP/端口

java - 通过 TCP 连接发送两个整数的最简单方法

python - 通过node-red将Python连接到网页

websocket - 使用Postman测试Appsync订阅

Java 7(作为客户端)与在 Java 6 中工作的 keystore 和信任库的 SSL 握手失败

docker - 水平扩展聊天日志 worker

SSL 响应被分成两个回调

docker - CURL在Docker镜像中不起作用[无法访问Docker镜像中的主机]

Java 11.0.11 SSL 握手失败,异常 'No common named group'