🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
`ws` 和 `wss` 是 WebSocket 协议的两种不同的方案,类似于 HTTP 和 HTTPS 的区别。以下是它们的主要区别: ### `ws` (WebSocket) * **端口**:默认使用端口 80,与 HTTP 相同。 * **加密**:不使用加密,数据在传输过程中是明文的。 * **使用场景**:适用于不需要传输敏感数据或在内部网络中使用的场景。 * **URL 示例**:`ws://example.com/path` ### `wss` (WebSocket Secure) * **端口**:默认使用端口 443,与 HTTPS 相同。 * **加密**:使用 TLS(传输层安全协议)进行加密,确保数据在传输过程中的安全性。 * **使用场景**:适用于需要保护数据隐私的场景,尤其是在公共网络或需要传输敏感数据时。 * **URL 示例**:`wss://example.com/path` ### 配置 Nginx 支持 `wss` 为了使用 `wss`,需要在 Nginx 中配置 SSL。以下是一个配置示例,假设你已经有一个域名 `example.com`,并且已经获取了 SSL 证书。 ``` ~~~ location /wss { proxy_pass http://dtc_upstream; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } ~~~ ``` --- - https://apifox.com/apiskills/what-is-websocket/ --- 1. **TCP(Transmission Control Protocol,传输控制协议)**: * TCP是一种面向连接的、可靠的、基于字节流的通信协议。 * TCP提供了可靠的数据传输,通过三次握手建立连接,四次挥手断开连接,以及流量控制、拥塞控制等机制来确保数据的可靠性和顺序性。 * TCP是传统的网络通信协议,用于在网络上可靠地传输数据,适用于各种类型的应用场景。 2. **WebSocket**: * WebSocket是一种基于TCP的协议,它允许在单个TCP连接上进行全双工通信,从而实现了实时的双向数据传输。 * WebSocket最初被设计用于在Web浏览器和Web服务器之间建立持久连接,以便在不重新加载页面的情况下进行实时通信。 * 与HTTP协议不同,WebSocket协议支持服务器向客户端推送数据,而不需要客户端发起请求。 * WebSocket协议通过在HTTP协议的握手阶段升级连接来建立起持久连接,并使用自定义的数据帧格式来传输数据。 - 在HTTP协议的握手阶段升级连接来建立起持久的双向通信连接