TPC/IP協(xié)議是傳輸層協(xié)議,主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸泛烙,而HTTP是應(yīng)用層協(xié)議理卑,主要解決如何包裝數(shù)據(jù)。關(guān)于TCP/IP和HTTP協(xié)議的關(guān)系蔽氨,網(wǎng)絡(luò)有一段比較容易理解的介紹:“我們在傳輸數(shù)據(jù)時(shí)藐唠,可以只使用(傳輸層)TCP/IP協(xié)議帆疟,但是那樣的話,如果沒有應(yīng)用層宇立,便無法識別數(shù)據(jù)內(nèi)容踪宠,如果想要使傳輸?shù)臄?shù)據(jù)有意義,則必須使用到應(yīng)用層協(xié)議妈嘹,應(yīng)用層協(xié)議有很多柳琢,比如HTTP、FTP润脸、TELNET等柬脸,也可以自己定義應(yīng)用層協(xié)議。WEB使用HTTP協(xié)議作應(yīng)用層協(xié)議毙驯,以封裝HTTP 文本信息倒堕,然后使用TCP/IP做傳輸層協(xié)議將它發(fā)到網(wǎng)絡(luò)上”郏”
術(shù)語TCP/IP代表傳輸控制協(xié)議/網(wǎng)際協(xié)議垦巴,指的是一系列協(xié)議∶危“IP”代表網(wǎng)際協(xié)議骤宣,TCP和UDP使用該協(xié)議從一個(gè)網(wǎng)絡(luò)傳送數(shù)據(jù)包到另一個(gè)網(wǎng)絡(luò)。把IP想像成一種高速公路稠项,它允許其它協(xié)議在上面行駛并找到到其它電腦的出口涯雅。TCP和UDP是高速公路上的“卡車”,它們攜帶的貨物就是像HTTP展运,文件傳輸協(xié)議FTP這樣的協(xié)議等活逆。
你應(yīng)該能理解,TCP和UDP是FTP拗胜,HTTP和SMTP之類使用的傳輸層協(xié)議蔗候。雖然TCP和UDP都是用來傳輸其他協(xié)議的,它們卻有一個(gè)顯著的不同:TCP提供有保證的數(shù)據(jù)傳輸埂软,而UDP不提供锈遥。這意味著TCP有一個(gè)特殊的機(jī)制來確保數(shù)據(jù)安全的不出錯(cuò)的從一個(gè)端點(diǎn)傳到另一個(gè)端點(diǎn),而UDP不提供任何這樣的保證勘畔。
HTTP(超文本傳輸協(xié)議)是利用TCP在兩臺電腦(通常是Web服務(wù)器和客戶端)之間傳輸信息的協(xié)議所灸。客戶端使用Web瀏覽器發(fā)起HTTP請求給Web服務(wù)器炫七,Web服務(wù)器發(fā)送被請求的信息給客戶端爬立。
下面的圖表試圖顯示不同的TCP/IP和其他的協(xié)議在最初OSI模型中的位置:
序號 | 層級 | 應(yīng)用 |
---|---|---|
7 | 應(yīng)用層 | 例如:HTTP、SMTP万哪、SNMP侠驯、FTP抡秆、Telnet、SSH吟策、SIP |
6 | 表示層 | 例如:XDR儒士、ASN.1、SMB檩坚、AFP着撩、NCP |
5 | 會話層 | 例如:ASAP、TLS效床、SSH睹酌、NetBIOS权谁、Winsock剩檀、BSD sockets |
4 | 傳輸層 | 例如:TCP、UDP旺芽、RTP |
3 | 網(wǎng)絡(luò)層 | 例如:IP沪猴、ICMP、IGMP采章、IPX运嗜、BGP、OSPF悯舟、RIP担租、IGRP、EIGRP抵怎、ARP奋救、RARP、X.25 |
2 | 數(shù)據(jù)鏈路層 | 例如:以太網(wǎng)反惕、令牌環(huán)尝艘、HDLC、幀中繼姿染、ISDN背亥、ATM、IEEE 802.11悬赏、FDDI狡汉、PPP |
1 | 物理層 | 例如:線路、無線電闽颇、光纖 |
HTTP協(xié)議的幾個(gè)重要概念
- 連接(Connection):一個(gè)傳輸層的實(shí)際環(huán)流盾戴,它是建立在兩個(gè)相互通訊的應(yīng)用程序之間。
- 消息(Message):HTTP通訊的基本單位进萄,包括一個(gè)結(jié)構(gòu)化的八元組序列并通過連接傳輸捻脖。
- 請求(Request):一個(gè)從客戶端到服務(wù)器的請求信息包括應(yīng)用于資源的方法锐峭、資源的標(biāo)識符和協(xié)議的版本號
- 響應(yīng)(Response):一個(gè)從服務(wù)器返回的信息包括HTTP協(xié)議的版本號、請求的狀態(tài)(例如“成功”或“沒找到”)和文檔的MIME類型可婶。
- 資源(Resource):由URI標(biāo)識的網(wǎng)絡(luò)數(shù)據(jù)對象或服務(wù)沿癞。
- 實(shí)體(Entity):數(shù)據(jù)資源或來自服務(wù)資源的回映的一種特殊表示方法,它可能被包圍在一個(gè)請求或響應(yīng)信息中矛渴。一個(gè)實(shí)體包括實(shí)體頭信息和實(shí)體的本身內(nèi)容椎扬。
- 客戶機(jī)(Client):一個(gè)為發(fā)送請求目的而建立連接的應(yīng)用程序。
- 用戶代理(Useragent):初始化一個(gè)請求的客戶機(jī)具温。它們是瀏覽器蚕涤、編輯器或其它用戶工具。
- 服務(wù)器(Server):一個(gè)接受連接并對請求返回信息的應(yīng)用程序铣猩。
- 源服務(wù)器(Originserver):是一個(gè)給定資源可以在其上駐留或被創(chuàng)建的服務(wù)器揖铜。
- 代理(Proxy):一個(gè)中間程序,它可以充當(dāng)一個(gè)服務(wù)器达皿,也可以充當(dāng)一個(gè)客戶機(jī)天吓,為其它客戶機(jī)建立請求。請求是通過可能的翻譯在內(nèi)部或經(jīng)過傳遞到其它的服務(wù)器中峦椰。一個(gè)代理在發(fā)送請求信息之前龄寞,必須解釋并且如果可能重寫它。 代理經(jīng)常作為通過防火墻的客戶機(jī)端的門戶汤功,代理還可以作為一個(gè)幫助應(yīng)用來通過協(xié)議處理沒有被用戶代理完成的請求物邑。
- 網(wǎng)關(guān)(Gateway):一個(gè)作為其它服務(wù)器中間媒介的服務(wù)器。與代理不同的是滔金,網(wǎng)關(guān)接受請求就好象對被請求的資源來說它就是源服務(wù)器色解;發(fā)出請求的客戶機(jī)并沒有意識到它在同網(wǎng)關(guān)打交道。 網(wǎng)關(guān)經(jīng)常作為通過防火墻的服務(wù)器端的門戶鹦蠕,網(wǎng)關(guān)還可以作為一個(gè)協(xié)議翻譯器以便存取那些存儲在非HTTP系統(tǒng)中的資源冒签。
- 通道(Tunnel):是作為兩個(gè)連接中繼的中介程序。一旦激活钟病,通道便被認(rèn)為不屬于HTTP通訊萧恕,盡管通道可能是被一個(gè)HTTP請求初始化的。當(dāng)被中繼的連接兩端關(guān)閉時(shí)肠阱,通道便消失票唆。當(dāng)一個(gè)門戶(Portal)必須存在或中介(Intermediary)不能解釋中繼的通訊時(shí)通道被經(jīng)常使用。
- 緩存(Cache):反應(yīng)信息的局域存儲屹徘。