2015-12-30 44 views
4

有可能通過http有一個wss協議?我已經閱讀過與ws一起工作的論壇,但wss只適用於https? 這是真的嗎?WSS適用於http?

因爲我想,以測試它在我的WAMP在本地主機上,但沒有工作

+2

可能重複的[Websockets - wss上的http與wss上的https](http://stackoverflow.com/questions/26791107/websockets-wss-on-http-vs-wss-on-https) – Corubba

+0

sligthly不同的,也沒有答覆滿足我已經取得 – user1900360

回答

7

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,只是對開發者的方便wsshttphttps

「WSS on http」是一個奇怪的詞。另一方面,「http上的WebSocket協議」和「https上的WebSocket協議」是有意義的。

+3

我認爲這個問題是關於:我可以連接通過wss,如果頁面打開http? – DenisKolodin

相關問題