HTTP協(xié)議功能有哪些?
想必大家都知道HTTP協(xié)議是WWW的核心。但是,具體的HTTP協(xié)議功能可能很多朋友并不見得能說的全面。現(xiàn)在就這個問題,我們來細(xì)致的講解一下。為大家總結(jié)一下HTTP協(xié)議功能都有哪些?,F(xiàn)在,還是來看看HTTP協(xié)議的基本概念吧。
HTTP的發(fā)展是萬維網(wǎng)協(xié)會(World Wide Web Consortium)和Internet工作小組(Internet Engineering Task Force)合作的結(jié)果,(他們)最終發(fā)布了一系列的RFC,其中最著名的就是RFC 2616。RFC 2616定義了HTTP協(xié)議的我們今天普遍使用的一個版本——HTTP 1.1。
HTTP是一個客戶端和服務(wù)器端請求和應(yīng)答的標(biāo)準(zhǔn)(TCP)??蛻舳耸墙K端用戶,服務(wù)器端是網(wǎng)站。通過使用Web瀏覽器、網(wǎng)絡(luò)爬蟲或者其它的工具,客戶端發(fā)起一個到服務(wù)器上指定端口(默認(rèn)端口為80)的HTTP請求。(我們稱這個客戶端)叫用戶代理(user agent)。應(yīng)答的服務(wù)器上存儲著(一些)資源,比如HTML文件和圖像。(我們稱)這個應(yīng)答服務(wù)器為源服務(wù)器(origin server)。在用戶代理和源服務(wù)器中間可能存在多個中間層,比如代理,網(wǎng)關(guān),或者隧道(tunnels)。盡管TCP/IP協(xié)議是互聯(lián)網(wǎng)上最流行的應(yīng)用,HTTP協(xié)議并沒有規(guī)定必須使用它和(基于)它支持的層。 事實上,HTTP可以在任何其他互聯(lián)網(wǎng)協(xié)議上,或者在其他網(wǎng)絡(luò)上實現(xiàn)。HTTP只假定(其下層協(xié)議提供)可靠的傳輸,任何能夠提供這種保證的協(xié)議都可以被其使用。
通常,由HTTP客戶端發(fā)起一個請求,建立一個到服務(wù)器指定端口(默認(rèn)是80端口)的TCP連接。HTTP服務(wù)器則在那個端口監(jiān)聽客戶端發(fā)送過來的請求。一旦收到請求,服務(wù)器(向客戶端)發(fā)回一個狀態(tài)行,比如"HTTP/1.1 200 OK",和(響應(yīng)的)消息,消息的消息體可能是請求的文件、錯誤消息、或者其它一些信息。
HTTP使用TCP而不是UDP的原因在于(打開一個)一個網(wǎng)頁必須傳送很多數(shù)據(jù),而TCP協(xié)議提供傳輸控制,按順序組織數(shù)據(jù),和錯誤糾正。
通過HTTP或者HTTPS協(xié)議請求的資源由統(tǒng)一資源標(biāo)示符(Uniform Resource Identifiers)(或者,更準(zhǔn)確一些,URLs)來標(biāo)識。
HTTP協(xié)議功能
HTTP是超文本轉(zhuǎn)移協(xié)議,是客戶端瀏覽器或其他程序與Web服務(wù)器之間的應(yīng)用層通信協(xié)議。在Internet上的Web服務(wù)器上存放的都是超文本信息,客戶機需要通過HTTP協(xié)議傳輸所要訪問的超文本信息。HTTP包含命令和傳輸信息,不僅可用于Web訪問,也可以用于其他因特網(wǎng)/內(nèi)聯(lián)網(wǎng)應(yīng)用系統(tǒng)之間的通信,從而實現(xiàn)各類應(yīng)用資源超媒體訪問的集成。
當(dāng)我們想瀏覽一個網(wǎng)站的時候,只要在瀏覽器的地址欄里輸入網(wǎng)站的地址就可以了,例如www.abc.com,但是在瀏覽器的地址欄里面出現(xiàn)的卻是:http://www.abc.com ,你知道為什么會多出一個“http”嗎? 我們在瀏覽器的地址欄里輸入的網(wǎng)站地址叫做URL (Uniform Resource Locator,統(tǒng)一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網(wǎng)頁也都有一個Internet地址。當(dāng)你在http功用瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本轉(zhuǎn)移協(xié)議(HTTP),將Web服務(wù)器上站點的網(wǎng)頁代碼提取出來,并翻譯成漂亮的網(wǎng)頁。因此,在我們認(rèn)識HTTP之前,有必要先弄清楚URL的組成,例如:http://www.abc.com/china/index.htm。
它的含義如下:
1. http://:代表超文本轉(zhuǎn)移協(xié)議,通知abc.com服務(wù)器顯示W(wǎng)eb頁,通常不用輸入;
2. www:代表一個Web(萬維網(wǎng))服務(wù)器;
3. abc.com/:這是裝有網(wǎng)頁的服務(wù)器的域名,或站點服務(wù)器的名稱;
4. China/:為該服務(wù)器上的子目錄,就好像我們的文件夾;
5. Index.htm:index.htm是文件夾中的一個HTML文件(網(wǎng)頁)。
我們知道,Internet的基本協(xié)議是TCP/IP協(xié)議,然而在TCP/IP模型最上層的是應(yīng)用層(Application layer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議FTP、電子郵件傳輸協(xié)議SMTP、域名系統(tǒng)服務(wù)DNS、網(wǎng)絡(luò)新聞傳輸協(xié)議NNTP和HTTP協(xié)議等。
HTTP協(xié)議(HyperText Transfer Protocol,超文本轉(zhuǎn)移協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。HTTP協(xié)議功能很多,可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁地址都是以http://開頭的原因。
自WWW誕生以來,一個多姿多彩的資訊和虛擬的世界便出現(xiàn)在我們眼前,可是我們怎么能夠更加容易地找到我們需要的資訊呢?當(dāng)決定使用超文本作為WWW文檔的標(biāo)準(zhǔn)格式后,于是在1990年,科學(xué)家們立即制定了能夠快速查找這些超文本文檔的協(xié)議,即HTTP協(xié)議。經(jīng)過幾年的使用與發(fā)展,得到不斷的完善和擴展,目前在WWW中使用的是HTTP/1.0的第六版。