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