HTTP協議:超文本傳輸協議
HTTP協議是什么?
HTTP協議,即超文本傳輸協議(Hyper Text Transfer Protocol,HTTP)是一個簡單的請求-響應協議,它通常運行在 TCP 之上。它指定了客戶端發送給服務器什么樣的消息以及得到什么樣的響應。請求和響應消息的頭以 ASCII 形式給出,消息內容則使用類似 MIME 的格式。
萬維網 WWW(World Wide Web)發源于歐洲日內瓦量子物理實驗室 CERN。WWW 技術的出現,使得因特網得以超乎想象的速度迅猛發展。
這項基于 TCP/IP 的技術,在短短的十年時間內迅速成為已經發展了幾十年的 Internet 上的規模最大的信息系統,它的成功歸結于它的簡單實用。
在 WWW 的背后,有一系列的協議和標準支持它完成工作,這就是 Web 協議族,其中就包括 HTTP 超文本傳輸協議。
在1990年,HTTP 就成為 WWW 的支撐協議。當時由其創始人 WWW 之父蒂姆·貝納斯·李(Tim Berners-Lee)提出,隨后 WWW 聯盟(WWW Consortium)成立,組織了IETF(Internet Engineering Task Force)小組進一步完善和發布 HTTP。
HTTP 是應用層協議,同其他應用層協議一樣,是為了實現某一類具體應用的協議,并由某一個運行在用戶空間的應用程序來實現其功能。
HTTP 是一種協議規范,這種規范記錄在文檔上,由通過 HTTP 進行通信的 HTTP的程序來實現。
HTTP 是基于 B/S 架構進行通信的,而 HTTP 的服務器端的實現程序有 Apache、Nginx、IIS 等,客戶端的實現程序主要是 Web 瀏覽器,例如:Google Chrome、Internet Explorer、Safari、Firefox、Opera等。此外,客戶端的命令行工具還有 elink、curl 等。
Web 服務是基于 TCP 的,因此為了能夠隨時響應客戶端的請求,Web 服務器需要監聽在 80/TCP 端口。這樣客戶端瀏覽器和 Web 服務器之間就可以通過 HTTP 進行通信。