tpc/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表示層
5會話層
4傳輸層
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與HTTPS的區別
http 超文字傳輸協議 http協議工作於應用層,其埠是40,是不安全的協議,url以http 開頭 都說http協議不安全,htttps協議安全,完全都可以用https,也就不用http了啊,問題所在是 https協議中的ssl技術得向數字證書認證機構 ca certificate author...
TCP IP和HTTP的區別
tcp ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。關於tcp ip和http協議的關係,網路有一段比較容易理解的介紹 我們在傳輸資料時,可以只使用 傳輸層 tcp ip協議,但是那樣的話,如果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料...