WebSocket协议中使用的GUID有什么意义?

时间:2016-03-14 12:03:03

标签: http websocket http-headers protocols network-protocols

来自RFC 6455:

  

..服务器必须向客户证明它收到了客户端   WebSocket握手,使服务器不接受连接   这不是WebSocket连接。这可以防止攻击者   通过精心制作的数据包来欺骗WebSocket服务器   使用XMLHttpRequest [XMLHttpRequest]或表单提交。

     

...对于此标头字段,服务器必须取值(如   存在于头字段中,例如base64编码的[RFC4648]   版本减去任何前导和尾随空格)并连接   这与全球唯一标识符(GUID,[RFC4122])   “258EAFA5-E914-47DA- 95CA-C5AB0DC85B11”字符串形式,这是   不太可能被不了解的网络端点使用   WebSocket协议。

  1. 连接GUID的目的是什么?
  2. 如何更加不可能与GUID连接,然后获取哈希值,而不仅仅是获取哈希值,其他网络端点将会混淆?在我看来,握手的GUID部分很丰富,即使不是很奇怪。它不会增加随机性或其他任何东西。

    1. 为什么选择SHA-1?为什么不使用计算成本较低的哈希,因为这与安全性无关?

0 个答案:

没有答案