真正“搞”懂HTTP協議03之時間穿梭

上一篇我們簡單的介紹了一下DoD模型和OSI模型 , 還著重的講解了TCP的三次握手和四次揮手 , 讓我們在空間層面 , 稍稍宏觀的了解了HTTP所依賴的底層模型 , 那么這一篇 , 我們來追溯一下HTTP的歷史 , 看一看HTTP在歷史上經歷了哪些發展和過程 , 才讓這個協議一直經久不衰 。
最開始 , 在20世紀60年代 , 也就是1950年到1960年之間 , 那時候我爹還沒出生呢……但是美國國防部高等研究計劃署(ARPA)建立了ARPA網 , 他有四個分布在各地的節點 , 被認為是互聯網的始祖 。信息時代的號角也在此刻吹響 , 人們即將迎來快速發展的網絡時代 。
在70年代 , 我爹五六歲的時候 , 基于對 ARPA 網的實踐和思考 , 研究人員發明出了著名的 TCP/IP 協議 。由于具有良好的分層結構和穩定的性能 , TCP/IP 協議迅速戰勝其他競爭對手流行起來 , 并在 80 年代中期進入了 UNIX 系統內核 , 促使更多的計算機接入了互聯網 。
你看 , 這些東西存活了這么久 , 可以說是經歷了無數的實踐和總結 , 是我們最需要去學習和學懂的底層的不變的知識 。這也是為什么網絡基礎是大學計算機專業一門十分重要的學科的原因 。
換句話說 , 這些東西是我們作為程序員所需要學習的那些不變的知識 。
從一篇論文開始在1989年的一個夏天 , 這時候我還沒出生 , 時任歐洲核子研究中心的蒂姆·伯納斯 - 李(Tim Berners-Lee)在一個明媚的下午 , 終于完成了他耗費心血的一篇論文 , 提出了在互聯網上構建超鏈接文檔系統的構想 。在這篇論文中 , 他確立了三項核心技術:URI、HTML和HTTP 。
而這個時候 , 想必HTTP的發明者也不一定可預見HTTP會在未來發展到如此地步 。
HTTP/0.9:宏偉的藍圖在20世紀90年代 , 這個時候我剛出生沒多久 , 互聯網世界非常的簡陋 , 計算機的處理能力也不行 , 存儲能力就更別提了 , 最主要的是體積還大的不行 。能在網上看看新聞都是天大的奇跡了 。這個時候的網速當然也十分有限 , 所以在網絡上使用的協議也都是以純文本傳輸 , 也就能看看純文字的內容 , 嗯~~廢了這么大勁 , 我還不如去看報紙 , 確實 , 這時候報紙要遠比網頁好看 , 畢竟報紙還能有黑白圖片 。
基于這樣的背景 , 此時的HTTP設計的也十分簡陋 , 采用了純文本的格式 , 并且只有GET方法從服務器獲取HTML文檔 , 并且在響應請求后立即關閉連接 , 僅僅只是這樣 。
但 , 正是因為最開始的HTTP如此簡單 , 才在未來賦予了它無限的可能 。因為 , 把簡單的變復雜 , 遠比把復雜的變簡單要容易很多 。
那么我們簡單總結下這個時候的HTTP的特點:

  1. 只有請求行 , 沒有請求頭和請求體(這樣說不太準確 , 我們后面再聊) 。
  2. 服務器也不會返回任何頭信息 , 只返回客戶端想要的數據就可以了 。
  3. 返回的文本內容是用ASCII字符流來傳輸的 。
HTTP/1.0:不標準的標準雖然HTTP0.9這么簡單 , 但是它已經可以滿足當時的需求了 。不過 , 隨著世界的發展 , 在1994年底出現了撥號上網服務 , 同年網景推出了一款瀏覽器 , 從此萬維網就不再是單純的限制于學術交流 , 而是進入了高速發展的階段 。并且在這個時期 , 還出現了JPEG的圖片格式 , 以及MP3格式等 。也就是說 , 大眾對于媒體展示的需求越發的繽紛了起來 。

經驗總結擴展閱讀