2024年5月1日发(作者:)

websocket 参数

Websocket参数是指WebSocket协议连接时使用的参

数集合,它包括必须的HTTP头信息(如Upgrade和

Connection)、以及可选的扩展参数(如Sec-WebSocket-

Protocol)。

1. Upgrade:标识协议升级请求,此参数值为

websocket,表明浏览器请求协议升级到WebSocket协议。

2. Connection:标识是否支持协议升级,一般会将值

设置为Upgrade,表明支持协议升级。

3. Sec-WebSocket-Version:标识支持的WebSocket

版本号,目前主流浏览器都支持13及13以上版本。

4. Sec-WebSocket-Key:浏览器随机生成的字符串,

用于校验请求有效性,服务器端会通过Base64加密后返

回。

5. Origin:标识发起请求的源地址。

6. Host:标识服务器地址,一般会带端口号,如

localhost:8080。

7. Sec-WebSocket-Extensions:标识扩展功能,可以

指定支持的功能,例如compress、gzip。

8. Cookie:标识cookie信息,如果有设置的话,可

以携带 cookie 信息。

9. Sec-WebSocket-Protocol:标识当前连接支持的子

协议,如果有设置的话,可以指定传输的数据格式。

10. X-Requested-With:标识请求的类型,一般为

XMLHttpRequest,表明是ajax请求。

11. Cache-Control:标识是否使用缓存,可以设置

no-cache表明不使用缓存。

12. Pragma:标识是否使用缓存,可以设置no-cache

表明不使用缓存。

13. Content-Type:标识传输内容格式,默认为

application/x-www-form-urlencoded,也可以设置为

text/plain。

14. Content-Length:标识传输内容的长度,如果传

输的数据超过此长度,将会抛出异常。

15. Authorization:标识http认证信息,一般是

base64编码的用户名和密码。

16. User-Agent:标识客户端浏览器信息,一般可以

获取浏览器和操作系统等信息。

17. Referer:标识请求来源地址,一般用于防盗链保

护。

18. If-Modified-Since:标识上一次请求时间,如果

服务器中文件未发生变化,则不返回文件内容给客户端。

19. Accept-Encoding:标识客户端支持的编码方式,

服务器根据此参数返回相应的数据编码,例如gzip、

deflate等。

20. Sec-WebSocket-Accept:标识服务器端返回的加

密字符串,客户端可以根据此参数判断连接是否成功。

这些参数在客户端和服务器端之间进行通信时都有

用,尤其是在WebSocket中,这些参数是必要的,它们不

仅能够标识客户端发起请求的源地址,而且还能够确保客

户端和服务器端之间的传输安全性。 通过这些参数,客

户端和服务器端可以进行简单明确的沟通,从而实现

WebSocket通信。