MST

星途 面试题库

面试题:网络编程之WebSocket握手过程基础

请详细描述WebSocket握手过程中客户端发送的HTTP请求包含哪些关键字段,以及这些字段的作用分别是什么?
16.2万 热度难度
后端开发网络编程

知识考点

AI 面试

面试题答案

一键面试

在WebSocket握手过程中,客户端发送的HTTP请求包含以下关键字段及其作用:

  • Upgrade:表明客户端希望将当前连接升级到WebSocket协议,值为websocket。例如:Upgrade: websocket
  • Connection:用于指定连接方式,值通常为Upgrade,告知服务器需要进行协议升级。例如:Connection: Upgrade
  • Sec-WebSocket-Key:是一个Base64编码的随机字符串,用于验证服务器是否支持WebSocket协议。服务器会使用这个密钥进行计算,返回响应时会用到。例如:Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
  • Sec-WebSocket-Version:指定客户端支持的WebSocket协议版本,目前常用版本为13 。例如:Sec-WebSocket-Version: 13

此外,还可能包含其他常规HTTP请求头字段,如Host等,作用和普通HTTP请求中的一样,Host字段指定请求的目标主机和端口,例如:Host: example.com:8080