HTTP1.1 優缺點
當前市面上廣泛的應用的版本依然是HTTP1.1,起碼在中國依然如此。
此版本子1997年釋出,至今已經二十餘年,經歷了網際網路軟硬體大發展的時期。
可見此版本的成熟和網際網路發展的貢獻之大,但任何版本都不可能做到一勞永逸。
隨著網際網路的進一步發展,資料交換量的加大,HTTP1.1版本的缺點逐漸顯現出來。
下面分別簡單介紹一下HTTP1.1版本的優點和缺點,更多相關細節可以參閱本版塊其他文章。
一.HTTP1.1版本優點:
1.增加永續性連線:
由於每一次TCP連線都是非常耗費資源的操作,所以在HTTP1.0版本增加永續性連線的某些特性。
簡單程式碼片段如下:
[HTML] 純文字檢視 複製程式碼Connection: keep-alive
但是上述並非標準欄位,各個瀏覽器器的支援並不一致,所以HTTP1.1對永續性連線進行了標準化。
考慮到篇幅問題,本文不做詳細介紹,具體可以參閱HTTP 持久連線一章節。
2.增加管道機制:
首先簡單介紹一下HTTP1.0版本時請求的特點,分佈簡述如下:
(1).假設有請求A和請求B。
(2).首先發出請求A,請求B處於等待狀態。
(3).B請求必須等待A請求發出之後,且請求響應返回之後才能發出。
(4).這個排隊規則有點浪費資源了。
HTTP1.1版本改進上了上述排隊方式,也就是增加了管道機制,請求可以同時發出,但是響應必須按照請求發出的順序依次返回,效能在一定程度上得到了改善,簡單圖示如下:
3.分塊傳輸:
在HTTP1.0版本中,如果在伺服器端遇到較為耗費時間的操作。
那麼需要等到這一操作全部完成後,才會向客戶端傳送資料,那麼這一段等待時間是非常影響效能和客戶體驗。
HTTP1.1版本對上述問題進行了改進,可以沒必要等待資料完全處理完畢再返回,伺服器產生部分資料,那麼就傳送部分資料,很明此種方式更加優秀一些,可以節省很多等待時間。
4.增加host欄位:
在頭部增加host欄位最大的受益者應該是資金微弱的個人站長。
因為在部署網站的時候沒有必要買昂貴的獨立伺服器,只要買虛擬主機即可,成本大大降低。
此欄位可以指定請求的伺服器域名,下面是本站的一個HTTP請求頭的截圖:
二.HTTP1.1版本缺陷:
雖然1.1版本的效能得到很大的改善,但是問題還是很大,簡述如下:
(1).此版本的網路延遲問題主要由於隊頭堵塞導致,雖然通過永續性連線得到改善,但是每一個請求的響應依然需要按照順序排隊,如果前面的響應處理較為耗費時間,那麼同樣非常耗費效能。
(2).還有此版本雖然引進了管道機制,但是當前存在諸多問題,且預設處於關閉狀態。
解決上述問題導致的延遲,可以有兩種方式,一種是在當前版本基礎上通過各種現有技術手段實現,另一種是應用http2版本,雖然當前瀏覽器支援或者其他方面問題較多,相信不遠的將來此版本一定會得到廣泛應用。
相關閱讀如下:
(1).HTTP請求延遲解決方案一章節。
(2).HTTP2協議介紹一章節。
相關文章
- Hive 優缺點Hive
- MapReduce優缺點
- RabbitMQ優缺點MQ
- HTTPS 優點與缺點HTTP
- Docker的優缺點Docker
- 內聯的優缺點
- Ajax原理以及優缺點
- 繼承的優缺點繼承
- serverless與容器優缺點Server
- hadoop-HDFS優缺點Hadoop
- MySQL索引的優缺點MySql索引
- 節點快取的優缺點快取
- MyBatis的優缺點以及特點MyBatis
- 繼承的優點和缺點繼承
- iframe有哪些優點和缺點?
- Java單例模式:缺點和優點Java單例模式
- PyLint 的優點、缺點和危險
- Git版本控制與優缺點Git
- 關於 Cookie的優缺點Cookie
- docker簡介以及優缺點Docker
- HTTP和RPC的優缺點HTTPRPC
- Kmeans演算法優缺點演算法
- 閉包的概念?優缺點?
- Base64 的優缺點
- kafka的優缺點都有那些Kafka
- SAP的概念及優缺點
- 6.iframe的優缺點
- ERP系統有哪些優點和缺點?
- MVP 與 MVVM 優缺點總結MVPMVVM
- svn和git版本管理優缺點Git
- 深度學習(Deep Learning)優缺點深度學習
- rem佈局原理和優缺點REM
- 串列埠、IIC、SPI的優缺點串列埠
- 雲伺服器的優缺點伺服器
- 物聯網路卡的優缺點
- 代理伺服器的優缺點伺服器
- 單頁應用的優缺點
- 也談SAP系統優缺點