只是乙個草案,純文字格式。蒂姆.伯納斯-李最初設想的系統裡的文件都是唯讀的,所以只允許用"get" 動作從伺服器上獲取html文件,並且在響應請求之後立即關閉連線,功能非常有限。
2023年正式發布
1. 增加了head、post等方法
2. 增加了響應狀態碼,標記可能的錯誤原因
3. 引入了協議版本號概念,
4. 引入了http header頭概念
5. 傳輸的資料不僅限於文字
在1.0中伺服器傳送完乙個http響應後,會斷開連線。1.0中確立了大部分現在使用的技術,但是它還不是乙個正式的標準
2023年,http1.1發布了rfc文件,
http1.1是目前網際網路上使用最廣泛的協議,功能也十分完善。
1.增加了put、 delete等新的方法;
2.增加了快取管理和控制;
3.明確了連線管理,允許持久連線;
4.允許響應資料分塊(chunked),
利於傳輸大檔案;
5.強制要求host頭,讓網際網路主機託管成為可能。
1.1中把connection 頭寫進標準,預設開啟久連線,connection:keep-alive。什麼時候關閉?timeout=20;設定超時時間;max = ***;長連線最多接收***次請求就斷開。
相對於http 1.1來說
1. 提公升訪問速度
2. 允許多路復用
3. 二進位制分幀
http 1.x的解析是基於文字,基於文字協議的格式解析存在天然缺陷。
4. 首部壓縮
http 1.x中header有大量資訊,且每次都重**送,http 2.0用encoder減少傳輸header大小,通訊雙方各cashe乙份header fileds表。
5. 伺服器推送(server push)
http2.0 基於google的spdy協議,注重效能改善,但還沒有普及。
http3.0基於google的quic協議,是將來的發展方向。
q1:乙個tcp連線可以對應幾個http請求?
在長連線裡可以對應多個
q2:tcp連線中http請求傳送可以一起嗎?
在1.1中,pipelining技術可以完成多個請求同發,但是瀏覽器預設關閉,所以仍然認為不可行,
在2.0中,multiplexing多個請求可以在同乙個tcp連線中並行進行
q3:瀏覽器如何提高頁面載入的效率?
同乙個連線順序處理多個或者和伺服器建立多個tcp連線。
HTTP協議發展歷程
http超文字傳輸協議是乙個用於傳輸超文字文件的應用層協議,它是為web瀏覽器與web伺服器之間的通訊而設計的,http協議到目前為止全部的版本可以分為http 0.9 http 1.0 http 1.1 http 2.0 http 3.0,其中現在普遍應用的版本是http 1.1版本,正在推進ht...
HTTP協議發展歷程
http超文字傳輸協議是乙個用於傳輸超文字文件的應用層協議,它是為web瀏覽器與web伺服器之間的通訊而設計的,http協議到目前為止全部的版本可以分為http 0.9 http 1.0 http 1.1 http 2.0 http 3.0,其中現在普遍應用的版本是http 1.1版本,正在推進ht...
HTTP協議發展歷程
http超文字傳輸協議是乙個用於傳輸超文字文件的應用層協議,它是為web瀏覽器與web伺服器之間的通訊而設計的,http協議到目前為止全部的版本可以分為http 0.9 http 1.0 http 1.1 http 2.0 http 3.0,其中現在普遍應用的版本是http 1.1版本,正在推進ht...