回答
ws
告訴的WebSocket客戶端庫使用http
連接到WebSocket服務器。同樣,wss
告訴WebSocket客戶端庫使用https
連接到WebSocket服務器。只是。 「ws協議」和「wss協議」是奇怪的詞。 「WebSocket協議」是正確的詞。 WebSocket協議可用於普通HTTP連接(http
)和安全HTTP連接(https
)。
請注意,WebSocket客戶端和WebSocket服務器之間的通信以普通的HTTP協議啓動。爲了啓動WebSocket通信,WebSocket客戶端向WebSocket服務器發送如下請求(這是RFC 6455,1.2. Protocol Overview的摘錄)。
GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Origin: http://example.com
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
正如你所看到的,這是一個正常的HTTP GET
請求。 WebSocket服務器可以在不安全的端口(http
,80爲默認值)或安全端口(https
,443是默認端口)上等待這種請求。這取決於WebSocket服務器。
如果您正在使用的WebSocket服務器正在等待非安全端口上的請求,請將ws
傳遞給您正在使用的WebSocket客戶端庫。否則,如果WebSocket服務器正在等待安全端口上的請求,請將wss
傳遞給WebSocket客戶端庫。
的WebSocket客戶端庫的某些實現接受不但ws
,只是對開發者的方便wss
也http
和https
。
「WSS on http」是一個奇怪的詞。另一方面,「http上的WebSocket協議」和「https上的WebSocket協議」是有意義的。
我認爲這個問題是關於:我可以連接通過wss,如果頁面打開http? – DenisKolodin
- 1. HTTP上的WSS與HTTPS上的WSS
- 2. 適用於Chrome的HTTP頭
- 3. Worklight HTTP適配器不適用於Kerberos
- 4. AngularJS查詢適用於http,但不適用於資源
- 5. HTTP請求適用於curl,但不適用於iOS或Postman
- 6. Symfony2基本http認證,適用於curl,但不適用於Android
- 7. jQuery下拉菜單不適用於HTTPS並且適用於HTTP
- 8. engine.io/wss/SSL/HTTP:如何配置?
- 9. Retrofit2 + RxJava2適用於HTTP請求
- 10. URL只適用於https而不是http
- 11. Http POST不適用於iOS的表單
- 12. JSON數組不適用於$ http服務
- 13. AngularJS:$ http不適用於外部API
- 14. http://timestamp.geotrust.com/tsa不再適用於SignTool?
- 15. SSLSocket也適用於不安全的http?
- 16. BizTalk 2013 WSS適配器覆蓋文件
- 17. IBM Worklight 6.0 - 應用程序僅適用於HTTP或HTTPS,不適用於
- 18. GAE Golang - HTTP JSON RPC調用適用於dev_appserver,但不適用於App Engine?
- 19. Android模擬器中的HTTP代理適用於瀏覽器,不適用於WebView
- 20. Soundcloud oEmbed僅適用於http,不適用於https;所有的網址爲HTTPS
- 21. Javascript HTTP GET請求適用於Firefox和iPad Safari,但不適用於Mac OS Safari
- 22. Swift HTTP請求適用於模擬器,但不適用於真實設備
- 23. Angular $ http回調不適用於Chrome中的HTTP 304
- 24. 爲什麼WebSockets使用(「ws」和「wss」)而不是(「http」和「https」)?
- 25. 使用HTTP將文件上傳到Sharepoint(WSS 3.0)文檔庫PUT
- 26. 任務API不適用於google-http-client版本大於1.12.0
- 27. 適用於PHP,不適用於PHPUnit
- 28. XMLHttpRequest適用於FireFox,不適用於Safari
- 29. Javascript適用於Firefox,不適用於IE8?
- 30. ImageIO.read()適用於FileInputStream,不適用於HttpInputStream
可能重複的[Websockets - wss上的http與wss上的https](http://stackoverflow.com/questions/26791107/websockets-wss-on-http-vs-wss-on-https) – Corubba
sligthly不同的,也沒有答覆滿足我已經取得 – user1900360