tcp/ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。關於tcp/ip和http協議的關係,網路有一段比較容易理解的介紹:「我們在傳輸資料時,可以只使用(傳輸層)tcp/ip協議,但是那樣的話,如果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料有意義,則必須使用到應用層協議,應用層協議有很多,比如http、ftp、telnet等,也可以自己定義應用層協議。web使用http協議作應用層協議,以封裝http 文字資訊,然後使用tcp/ip做傳輸層協議將它發到網路上。」
術語tcp/ip代表傳輸控制協議/網際協議,指的是一系列協議。「ip」代表網際協議,tcp和udp使用該協議從乙個網路傳送資料報到另乙個網路。把ip想像成一種高速公路,它允許其它協議在上面行駛並找到到其它電腦的出口。tcp和udp是高速公路上的「卡車」,它們攜帶的貨物就是像http,檔案傳輸協議ftp這樣的協議等。
你應該能理解,tcp和udp是ftp,http和smtp之類使用的傳輸層協議。雖然tcp和udp都是用來傳輸其他協議的,它們卻有乙個顯著的不同:tcp提供***的資料傳輸,而udp不提供。這意味著tcp有乙個特殊的機制來確保資料安全的不出錯的從乙個端點傳到另乙個端點,而udp不提供任何這樣的保證。
http(超文字傳輸協議)是利用tcp在兩台電腦(通常是web伺服器和客戶端)之間傳輸資訊的協議。客戶端使用web瀏覽器發起http請求給web伺服器,web伺服器傳送被請求的資訊給客戶端。
下面的圖表試圖顯示不同的tcp/ip和其他的協議在最初osi模型中的位置:
7 應用層 例如http、smtp、snmp、ftp、telnet、sip、ssh、nfs、rtsp、xmpp、whois、enrp
6 表示層 例如xdr、asn.1、smb、afp、ncp
5 會話層 例如asap、tls、ssh、iso 8327 / ccitt x.225、rpc、netbios、asp、winsock、bsd sockets
4 傳輸層 例如tcp、udp、rtp、sctp、spx、atp、il
3 網路層 例如ip、icmp、igmp、ipx、bgp、ospf、rip、igrp、eigrp、arp、rarp、 x.25
2 資料鏈路層 例如乙太網、令牌環、hdlc、幀中繼、isdn、atm、ieee 802.11、fddi、ppp
1 物理層 例如線路、無線電、光纖、信鴿
2.傳送請求
開啟乙個連線後,客戶機把請求訊息送到伺服器的停留埠上,完成提出請求動作。
http/1.0 請求訊息的格式為:
請求訊息=請求行(通用資訊|請求頭|實體頭)crlf[實體內容]
請求 行=方法 請求url http版本號 crlf
方 法=get|head|post|擴充套件方法
u r l=協議名稱+宿主名+目錄與檔名
請求行中的方法描述指定資源中應該執行的動作,常用的方法有get、head和post。不同的請求物件對應get的結果是不同的,對應關係如下:
物件 get的結果
檔案 檔案的內容
程式 該程式的執行結果
資料庫查詢 查詢結果
head??要求伺服器查詢某物件的元資訊,而不是物件本身。
post??從客戶機向伺服器傳送資料,在要求伺服器和cgi做進一步處理時會用到post方法。post主要用於傳送html文字中form的內容,讓cgi程式處理。
乙個請求的例子為:
get networking.zju.edu.cn/zju/index.htmhttp/1.0 頭資訊又稱為元資訊,即資訊的資訊,利用元資訊可以實現有條件的請求或應答。
請求頭??告訴伺服器怎樣解釋本次請求,主要包括使用者可以接受的資料型別、壓縮方法和語言等。
實體頭??實體資訊型別、長度、壓縮方法、最後一次修改時間、資料有效期等。
實體??請求或應答物件本身。
3.傳送響應
伺服器在處理完客戶的請求之後,要向客戶機傳送響應訊息。
http/1.0的響應訊息格式如下:
響應訊息=狀態行(通用資訊頭|響應頭|實體頭) crlf 〔實體內容〕
狀態行=http版本號 狀態碼 原因敘述
狀態碼表示響應型別
1×× 保留
2×× 表示請求成功地接收
3×× 為完成請求客戶需進一步細化請求
4×× 客戶錯誤
5×× 伺服器錯誤
響應頭的資訊包括:服務程式名,通知客戶請求的url需要認證,請求的資源何時能使用。
4.關閉連線
客戶和伺服器雙方都可以通過關閉套接字來結束tcp/ip對話
TCP IP與HTTP的區別
tpc ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。關於tcp ip和http協議的關係,網路有一段比較容易理解的介紹 我們在傳輸資料時,可以只使用 傳輸層 tcp ip協議,但是那樣的話,如果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料...
TCP IP 和 HTTP 的區別和聯絡是什麼?
老王把禮物打好包並轉交給快遞公司,並叮囑快遞公司,要鮮肉月餅先到,大閘蟹後到,快遞公司說 okay,放心好了。快遞公司將鮮肉月餅貼上標籤1,大閘蟹標籤2,放在倉庫裡,先聯絡到北京的老張再發貨。收件人位址 北京海淀區知春路xx號 寄件人位址 上海浦東新區世紀大道200號 機械人用導航軟體智慧型選取路線...
TCP IP協議與Http協議的區別
tpc ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。關於tcp ip和http協議的關係,網路有一段比較容易理解的介紹 我們在傳輸資料時,可以只使用 傳輸層 tcp ip協議,但是那樣的話,如果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料...