我只是不太熟悉网络技术。
我想知道当SSE和WebSocket都通过HTTP进行通信时,在HTTP连接之前是否也有著名的TCP 3向握手?
如果是,WebSocket会有两个3向握手吗?一个是通过TCP,第二个是通过HTTP的升级方法?
提前感谢!
HTTP建立在TCP之上。这意味着HTTP数据包在TCP数据包中。每个HTTP连接都需要首先通过TCP握手。
服务器发送的事件基本上只是一个长时间运行的HTTP请求,当客户端需要时,它会将数据从服务器发送到客户端。它使用标准的HTTP标头来提供附加信息。
WebSockets是一种全新的协议,它使用HTTP来启动连接。连接将升级到新协议。WebSocket握手的主要目的是确保双方使用相同的协议,并希望在该协议的级别上相互交谈。