HTTP 1.0
基于請(qǐng)求和應(yīng)答模式,也就是服務(wù)器不能主動(dòng)給客戶端推送消息
HTTP 1.1
HTTP 1.1相對(duì)于HTTP 1.0有了一些進(jìn)步,1.0 建立一次連接,只能發(fā)送一次請(qǐng)求,而1.1修改了connection: keep-alive, 這樣就可以進(jìn)行一次連接,進(jìn)行多次請(qǐng)求和應(yīng)答,但是 response == requst
看一個(gè)普通的http1.1的請(qǐng)求

http1.1.jpg
webSocket
webSocket 是一個(gè)持久化協(xié)議,webSocket 是基于HTTP協(xié)議的,或者說 借用 HTTP的協(xié)議來完成一部分握手。
websocket的連接過程

webSocket建立.jpg
websocket的連接建立過程:
1、客戶端發(fā)送GET 請(qǐng)求, upgrade
2、服務(wù)器給客戶端 switching protocol
3、就進(jìn)行了webSocket的通信了
具體內(nèi)容:
1、發(fā)送一個(gè)GET請(qǐng)求
關(guān)鍵:
Upgrade: websocket
Connection: Upgrade
這兩個(gè)就告訴服務(wù)器,我要發(fā)起websocket協(xié)議,我不是HTTP。

建立webSocket GET請(qǐng)求.jpg
2、服務(wù)器收到了協(xié)議,返回一個(gè) Switching Protocol, 這樣就連接成功了

服務(wù)器應(yīng)答協(xié)議轉(zhuǎn)換.png
3、接下來的通信都是websocket, 這樣就很好的連接了

webSocket.png