- 圖解HTTP
- (日)上野宣
- 1332字
- 2019-01-05 02:29:41
1.2 HTTP的誕生
在深入學習HTTP之前,我們先來介紹一下HTTP誕生的背景。了解背景的同時也能了解當初制定HTTP的初衷,這樣有助于我們更好地理解。
1.2.1 為知識共享而規劃Web
1989年3月,互聯網還只屬于少數人。在這一互聯網的黎明期,HTTP誕生了。

CERN(歐洲核子研究組織)的蒂姆·伯納斯-李(Tim Berners-Lee)博士提出了一種能讓遠隔兩地的研究者們共享知識的設想。
最初設想的基本理念是:借助多文檔之間相互關聯形成的超文本(HyperText),連成可相互參閱的WWW(World Wide Web,萬維網)。
現在已提出了3項WWW構建技術,分別是:把SGML(Standard Generalized Markup Language,標準通用標記語言)作為頁面的文本標記語言的HTML(HyperText Markup Language,超文本標記語言);作為文檔傳遞協議的HTTP;指定文檔所在地址的URL(Uniform Resource Locator,統一資源定位符)。
WWW這一名稱,是Web瀏覽器當年用來瀏覽超文本的客戶端應用程序時的名稱。現在則用來表示這一系列的集合,也可簡稱為Web。
1.2.2 Web成長時代
1990年11月,CERN成功研發了世界上第一臺Web服務器和Web瀏覽器。兩年后的1992年9月,日本第一個網站的主頁上線了。
●日本第一個主頁
http://www.ibarakiken.gr.jp/www/
1990年,大家針對HTML 1.0草案進行了討論,因HTML 1.0中存在多處模糊不清的部分,草案被直接廢棄了。
● HTML1.0
http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt
1993年1月,現代瀏覽器的祖先NCSA(National Center for Supercomputer Applications,美國國家超級計算機應用中心)研發的Mosaic問世了。它以in-line(內聯)等形式顯示HTML的圖像,在圖像方面出色的表現使它迅速在世界范圍內流行開來。
同年秋天,Mosaic的Windows版和Macintosh版面世。使用CGI技術的NCSA Web服務器、NCSA HTTPd 1.0也差不多是在這個時期出現的。
● NCSA Mosaic bounce page
http://archive.ncsa.illinois.edu/mosaic.html
● The NCSA HTTPd Home Page(存檔)
http://web.archive.org/web/20090426182129/http://hoohoo.ncsa. illinois.edu/(原址已失效)
1994年的12月,網景通信公司發布了Netscape Navigator 1.0, 1995年微軟公司發布Internet Explorer 1.0和2.0。
緊隨其后的是現在已然成為Web服務器標準之一的Apache,當時它以Apache 0.2的姿態出現在世人眼前。而HTML也發布了2.0版本。那一年,Web技術的發展突飛猛進。
時光流轉,從1995年左右起,微軟公司與網景通信公司之間爆發的瀏覽器大戰愈演愈烈。兩家公司都各自對HTML做了擴展,于是導致在寫HTML頁面時,必須考慮兼容他們兩家公司的瀏覽器。時至今日,這個問題仍令那些寫前端頁面的工程師感到棘手。
在這場瀏覽器供應商之間的競爭中,他們不僅對當時發展中的各種Web標準化視而不見,還屢次出現新增功能沒有對應說明文檔的情況。
2000年前后,這場瀏覽器戰爭隨著網景通信公司的衰落而暫告一段落。但就在2004年,Mozilla基金會發布了Firefox瀏覽器,第二次瀏覽器大戰隨即爆發。
Internet Explorer瀏覽器的版本從6升到7前后花費了5年時間。之后接連不斷地發布了8、9、10版本。另外,Chrome、Opera、Safari等瀏覽器也紛紛搶占市場份額。
1.2.3 駐足不前的HTTP
HTTP/0.9
HTTP于1990年問世。那時的HTTP并沒有作為正式的標準被建立。這時的HTTP其實含有HTTP/1.0之前版本的意思,因此被稱為HTTP/0.9。
HTTP/1.0
HTTP正式作為標準被公布是在1996年的5月,版本被命名為HTTP/1.0,并記載于RFC1945。雖說是初期標準,但該協議標準至今仍被廣泛使用在服務器端。
● RFC1945- Hypertext Transfer Protocol -- HTTP/1.0
http://www.ietf.org/rfc/rfc1945.txt
HTTP/1.1
1997年1月公布的HTTP/1.1是目前主流的HTTP協議版本。當初的標準是RFC2068,之后發布的修訂版RFC2616就是當前的最新版本。
● RFC2616- Hypertext Transfer Protocol -- HTTP/1.1
http://www.ietf.org/rfc/rfc2616.txt
可見,作為Web文檔傳輸協議的HTTP,它的版本幾乎沒有更新。新一代HTTP/2.0正在制訂中,但要達到較高的使用覆蓋率,仍需假以時日。
當年HTTP協議的出現主要是為了解決文本傳輸的難題。由于協議本身非常簡單,于是在此基礎上設想了很多應用方法并投入了實際使用。現在HTTP協議已經超出了Web這個框架的局限,被運用到了各種場景里。