HTTP 1.0
基于請求和應答模式,也就是服務器不能主動給客戶端推送消息
HTTP 1.1
HTTP 1.1相對于HTTP 1.0有了一些進步,1.0 建立一次連接,只能發送一次請求,而1.1修改了connection: keep-alive, 這樣就可以進行一次連接,進行多次請求和應答,但是 response == requst
看一個普通的http1.1的請求
http1.1.jpg
webSocket
webSocket 是一個持久化協議,webSocket 是基于HTTP協議的,或者說 借用 HTTP的協議來完成一部分握手。
websocket的連接過程
webSocket建立.jpg
websocket的連接建立過程:
1、客戶端發送GET 請求, upgrade
2、服務器給客戶端 switching protocol
3、就進行了webSocket的通信了
具體內容:
1、發送一個GET請求
關鍵:
Upgrade: websocket
Connection: Upgrade
這兩個就告訴服務器,我要發起websocket協議,我不是HTTP。
建立webSocket GET請求.jpg
2、服務器收到了協議,返回一個 Switching Protocol, 這樣就連接成功了
服務器應答協議轉換.png
3、接下來的通信都是websocket, 這樣就很好的連接了
webSocket.png