- 相關(guān)推薦
TCP/IP、Http的區(qū)別
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ò)有一段比較容易理解的介紹:“我們?cè)趥鬏敂?shù)據(jù)時(shí),可以只使用(傳輸層)TCP/IP協(xié)議,但是那樣的話,如果沒(méi)有應(yīng)用層,便無(wú)法識(shí)別數(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ù)語(yǔ)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都是用來(lái)傳輸其他協(xié)議的,它們卻有一個(gè)顯著的不同:TCP提供有保證的數(shù)據(jù)傳輸,而UDP不提供。這意味著TCP有一個(gè)特殊的機(jī)制來(lái)確保數(shù)據(jù)安全的不出錯(cuò)的從一個(gè)端點(diǎn)傳到另一個(gè)端點(diǎn),而UDP不提供任何這樣的保證。
HTTP(超文本傳輸協(xié)議)是利用TCP在兩臺(tái)電腦(通常是Web服務(wù)器和客戶端)之間傳輸信息的協(xié)議。客戶端使用Web瀏覽器發(fā)起HTTP請(qǐng)求給Web服務(wù)器,Web服務(wù)器發(fā)送被請(qǐng)求的信息給客戶端。
下面的圖表試圖顯示不同的TCP/IP和其他的協(xié)議在最初OSI模型中的位置:
7 | 應(yīng)用層 | 例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP |
6 | 表示層 | 例如XDR、ASN.1、SMB、AFP、NCP |
5 | 會(huì)話層 | 例如ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets |
4 | 傳輸層 | 例如TCP、UDP、RTP、SCTP、SPX、ATP、IL |
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 | 物理層 | 例如線路、無(wú)線電、光纖、信鴿 |
一、HTTP協(xié)議的幾個(gè)重要概念
1.連接(Connection):一個(gè)傳輸層的實(shí)際環(huán)流,它是建立在兩個(gè)相互通訊的應(yīng)用程序之間。
2.消息(Message):HTTP通訊的基本單位,包括一個(gè)結(jié)構(gòu)化的八元組序列并通過(guò)連接傳輸。
3.請(qǐng)求(Request):一個(gè)從客戶端到服務(wù)器的請(qǐng)求信息包括應(yīng)用于資源的方法、資源的標(biāo)識(shí)符和協(xié)議的版本號(hào)
4.響應(yīng)(Response):一個(gè)從服務(wù)器返回的信息包括HTTP協(xié)議的版本號(hào)、請(qǐng)求的狀態(tài)(例如“成功”或“沒(méi)找到”)和文檔的MIME類型。
5.資源(Resource):由URI標(biāo)識(shí)的網(wǎng)絡(luò)數(shù)據(jù)對(duì)象或服務(wù)。
6.實(shí)體(Entity):數(shù)據(jù)資源或來(lái)自服務(wù)資源的回映的一種特殊表示方法,它可能被包圍在一個(gè)請(qǐng)求或響應(yīng)信息中。一個(gè)實(shí)體包括實(shí)體頭信息和實(shí)體的本身內(nèi)容。
7.客戶機(jī)(Client):一個(gè)為發(fā)送請(qǐng)求目的而建立連接的應(yīng)用程序。
8.用戶代理(Useragent):初始化一個(gè)請(qǐng)求的客戶機(jī)。它們是瀏覽器、編輯器或其它用戶工具。
9.服務(wù)器(Server):一個(gè)接受連接并對(duì)請(qǐng)求返回信息的應(yīng)用程序。
10.源服務(wù)器(Originserver):是一個(gè)給定資源可以在其上駐留或被創(chuàng)建的服務(wù)器。
11.代理(Proxy):一個(gè)中間程序,它可以充當(dāng)一個(gè)服務(wù)器,也可以充當(dāng)一個(gè)客戶機(jī),為其它客戶機(jī)建立請(qǐng)求。請(qǐng)求是通過(guò)可能的翻譯在內(nèi)部或經(jīng)過(guò)傳遞到其它的服務(wù)器中。一個(gè)代理在發(fā)送請(qǐng)求信息之前,必須解釋并且如果可能重寫(xiě)它。
代理經(jīng)常作為通過(guò)防火墻的客戶機(jī)端的門戶,代理還可以作為一個(gè)幫助應(yīng)用來(lái)通過(guò)協(xié)議處理沒(méi)有被用戶代理完成的請(qǐng)求。
12.網(wǎng)關(guān)(Gateway):一個(gè)作為其它服務(wù)器中間媒介的服務(wù)器。與代理不同的是,網(wǎng)關(guān)接受請(qǐng)求就好象對(duì)被請(qǐng)求的資源來(lái)說(shuō)它就是源服務(wù)器;發(fā)出請(qǐng)求的客戶機(jī)并沒(méi)有意識(shí)到它在同網(wǎng)關(guān)打交道。
網(wǎng)關(guān)經(jīng)常作為通過(guò)防火墻的服務(wù)器端的門戶,網(wǎng)關(guān)還可以作為一個(gè)協(xié)議翻譯器以便存取那些存儲(chǔ)在非HTTP系統(tǒng)中的資源。
13.通道(Tunnel):是作為兩個(gè)連接中繼的中介程序。一旦激活,通道便被認(rèn)為不屬于HTTP通訊,盡管通道可能是被一個(gè)HTTP請(qǐng)求初始化的。當(dāng)被中繼的連接兩端關(guān)閉時(shí),通道便消失。當(dāng)一個(gè)門戶(Portal)必須存在或中介(Intermediary)不能解釋中繼的通訊時(shí)通道被經(jīng)常使用。
14.緩存(Cache):反應(yīng)信息的局域存儲(chǔ)。
二.發(fā)送請(qǐng)求
打開(kāi)一個(gè)連接后,客戶機(jī)把請(qǐng)求消息送到服務(wù)器的停留端口上,完成提出請(qǐng)求動(dòng)作。
HTTP/1.0 請(qǐng)求消息的格式為:
請(qǐng)求消息=請(qǐng)求行(通用信息|請(qǐng)求頭|實(shí)體頭)CRLF[實(shí)體內(nèi)容]
請(qǐng)求 行=方法 請(qǐng)求URL HTTP版本號(hào) CRLF
方 法=GET|HEAD|POST|擴(kuò)展方法
U R L=協(xié)議名稱+宿主名+目錄與文件名
請(qǐng)求行中的方法描述指定資源中應(yīng)該執(zhí)行的動(dòng)作,常用的方法有GET、HEAD和POST。不同的請(qǐng)求對(duì)象對(duì)應(yīng)GET的結(jié)果是不同的,對(duì)應(yīng)關(guān)系如下:
對(duì)象 GET的結(jié)果
文件 文件的內(nèi)容
程序 該程序的執(zhí)行結(jié)果
數(shù)據(jù)庫(kù)查詢 查詢結(jié)果
HEAD??要求服務(wù)器查找某對(duì)象的元信息,而不是對(duì)象本身。
POST??從客戶機(jī)向服務(wù)器傳送數(shù)據(jù),在要求服務(wù)器和CGI做進(jìn)一步處理時(shí)會(huì)用到POST方法。POST主要用于發(fā)送HTML文本中FORM的內(nèi)容,讓CGI程序處理。
一個(gè)請(qǐng)求的例子為:
GEThttp://networking.zju.edu.cn/zju/HTTP/1.0 networking.zju.edu.cn/zju/HTTP/1.0 頭信息又稱為元信息,即信息的信息,利用元信息可以實(shí)現(xiàn)有條件的請(qǐng)求或應(yīng)答。
請(qǐng)求頭??告訴服務(wù)器怎樣解釋本次請(qǐng)求,主要包括用戶可以接受的數(shù)據(jù)類型、壓縮方法和語(yǔ)言等。
實(shí)體頭??實(shí)體信息類型、長(zhǎng)度、壓縮方法、最后一次修改時(shí)間、數(shù)據(jù)有效期等。
實(shí)體??請(qǐng)求或應(yīng)答對(duì)象本身。
三.發(fā)送響應(yīng)
服務(wù)器在處理完客戶的請(qǐng)求之后,要向客戶機(jī)發(fā)送響應(yīng)消息。
HTTP/1.0的響應(yīng)消息格式如下:
響應(yīng)消息=狀態(tài)行(通用信息頭|響應(yīng)頭|實(shí)體頭) CRLF 〔實(shí)體內(nèi)容〕
狀態(tài)行=HTTP版本號(hào) 狀態(tài)碼 原因敘述
狀態(tài)碼表示響應(yīng)類型
1×× 保留
2×× 表示請(qǐng)求成功地接收
3×× 為完成請(qǐng)求客戶需進(jìn)一步細(xì)化請(qǐng)求
4×× 客戶錯(cuò)誤
5×× 服務(wù)器錯(cuò)誤
響應(yīng)頭的信息包括:服務(wù)程序名,通知客戶請(qǐng)求的URL需要認(rèn)證,請(qǐng)求的資源何時(shí)能使用。
四.關(guān)閉連接
客戶和服務(wù)器雙方都可以通過(guò)關(guān)閉套接字來(lái)結(jié)束TCP/IP對(duì)話
【TCP/IP、Http的區(qū)別】相關(guān)文章:
TCP/IP協(xié)議是什么06-18
OSI七層與TCP/IP五層網(wǎng)絡(luò)架構(gòu)詳解09-07
對(duì)TCP/IP網(wǎng)絡(luò)協(xié)議的深入淺出歸納10-16
查找本地IP/網(wǎng)絡(luò)IP/對(duì)方IP地址圖文教程07-17
TCP的可靠性10-30
IP雷達(dá)使用教程09-03
TCP與UDP協(xié)議有什么不同09-16
手機(jī)修改ip地址方法03-08