在https初始化之后,WSS再次进行SSL握手



假设一个100%安全的websocket站点,其中web服务器提供所有文件:html, js, css等,而websocket提供客户端和服务器之间的所有数据。

显然最初的ssl握手是在客户端和web服务器之间的默认https端口,但wss将在不同的端口,所以它必须再次握手吗?

我问的原因是因为websockets &spdy还没有一起工作(所以我已经读过了),所以我希望通过在web服务器上使用spdy来解决这个问题,并依赖于wss的keep-alive,因为有些人声称spdy并不比握手后的keep-alive快多少(如果有的话)。spdy比keep-alive https快?

虽然Travis所说的大部分都是事实,但我不清楚为什么他对你的问题回答"不"。

当客户端打开到web服务器的HTTPS连接时,web服务器可能会提供JS,使用wss://初始化WebSocket连接到不同的源(可能是相同的主机,但正如你所描述的,它是一个不同的端口)。这是一个不同的连接。SSL握手必须为每个连接单独执行。

Travis所说的对于SSL会话是正确的,如果WebSocket使用与https://document fetch相同的连接,那么回答"no"将是正确的。但是由于wss://WebSocket连接初始化将使用不同的连接,它需要另一次SSL握手。

No。SSL协议决定客户端和服务器如何协商要使用的密码套件、相互验证、传输证书、建立会话密钥和传输消息。握手成功完成后,流经新SSL会话的所有数据都受到握手期间商定的加密算法和会话密钥的保护。

相关内容

  • 没有找到相关文章

最新更新