http几个版本的区别
http幾個版本的區別
http/0.9版本:只有一個命令GET,只支持純文本內容
http1.0版本:
任何格式的內容都可以發送,這使得互聯網不僅可以傳輸文字,還能傳輸圖像、視頻、二進制等文件。
除了GET命令,還引入了POST命令和HEAD命令。
http請求和回應的格式改變,除了數據部分,每次通信都必須包括頭信息(HTTP header),用來描述一些元數據
http1.1版本:
引入了持久連接( persistent connection),即TCP連接默認不關閉,可以被多個請求復用,不用聲明Connection: keep-alive。
引入了管道機制( pipelining),即在同一個TCP連接里,客戶端可以同時發送多個請求,進一步改進了HTTP協議的效率。
新增方法:PUT、 PATCH、 OPTIONS、 DELETE。
http協議不帶有狀態,每次請求都必須附上所有信息。請求的很多字段都是重復的,浪費帶寬,影響速度。
http1.x版本問題:
http1.x在傳輸數據時,所有傳輸的內容都是明文,客戶端和服務器端都無法驗證對方的身份,無法保證數據的安全性。
1.1版本允許復用TCP連接,但是同一個TCP連接里面,所有的數據通信是按次序進行的。服務器只有處理完一個回應,才會進行下一個回應,可能會造成Head-of-line blocking的問題。
http1.x支持了keep-alive,來彌補多次創建連接產生的延遲,但是keepalive使用多了同樣會給服務端帶來大量的性能壓力,并且對于單個文件被不斷請求的服務(例如圖片存放網站), keep-alive可能會極大的影響性能,因為它在文件被請求之后還保持了不必要的連接很長時間
總結
以上是生活随笔為你收集整理的http几个版本的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: golang实现生产者和消费者
- 下一篇: BOOL,int,float,指针变量