有關HTTP協議 TCP和UDP協議整理

2021-08-18 03:05:09 字數 3082 閱讀 8856

1: http協議定義了瀏覽器怎麼向伺服器請求文件,以及怎麼把文件傳送給瀏覽器。從層級的角度看,http協議是面向事務的應用層協議。http報文通常使用tcp連線傳送。

2:http使用了面向連線的tcp作為傳輸層協議,保證了資料的可靠傳輸。

http協議是無連線的,通訊的雙發在交換http報文之前不需要先建立http連線

http協議是無狀態的,伺服器並不記得曾經訪問過的客戶,和訪問次數。這種特性簡化了伺服器的設計和支援大量併發的http請求

http在tcp的三次握手的前兩部分完成後,客戶端就把http請求報文作為第三個報文的資料傳送給伺服器。

3:http/1.0和http/1.1

http/1.0:使用的非持續連線,這會使伺服器的負擔很重。

http/1.1:使用了持續連線,有兩種工作方式,1:流水線方式---可以多請求多響應。2:非流水線方式--一次乙個請求

4:http報文

http報文--請求報文和響應報文,http是面向文字的。都由三部分組成:開始行、首部行、實體主體。

請求報文--請求行、首部行、實體主體

http請求的細節——請求行

請求行中的get 稱之為請求方式,請求方式有:

post、 get 、 head 、 options 、 delete 、 trace 、 put

常用的有: get 、  post

使用者如沒有設定,預設情況下瀏覽器向伺服器傳送的都是get 請求,例如在瀏覽器直接輸位址訪問,點超連結訪問等都是         get ,使用者如想把請求方式改為 post ,可通過更改表單的提交方式實現。

不管post 或 get ,都用於向伺服器請求某個 web 資源,這兩種方式的區別主要表現在資料傳遞上:

如請求方式為post 方式,則可以在請求的實體內容中向伺服器傳送資料, post 方式的特點:傳送的資料量無限制。

http請求的細節——首部行

用於http 請求中的常用頭

accept: text/html,image/*     //允許的請求文件型別

accept-charset: iso-8859-1

accept-encoding: gzip,compress

accept-language: en-us,zh-cn //表示使用者希望優先得到中文版的請求文件

host: www.it315.org:80//主機網域名稱及埠號

if-modified-since: fri, 11 dec 2015 18:23:51 gmt

referer: 

user-agent: mozilla/4.0 (compatible; msie 5.5; windows nt 5.0)

cookie

connection: close/keep-alive   

date: fri, 11 dec 2015 18:23:51 gmt

http響應的細節——狀態行

狀態行

格式: http 版本號 狀態碼 原因敘述

舉例:http/1.1 200 ok

狀態碼用於表示伺服器對請求的處理結果,它是乙個三位的十進位制數。響應狀態碼分為5 類,如下所示:

響應狀態碼à典型情況

200(正常) 

表示一切正常,返回的是正常請求結果。

302/307(臨時重定向)

指出被請求的文件已被臨時移動到別處,此文件的新的url 在 location 響應頭中給出。

304(未修改)

表示客戶機快取的版本是最新的,客戶機應該繼續使用它。

403(禁止) 

伺服器理解客戶端請求,但拒絕處理它。通常由於伺服器上檔案或目錄的許可權設定所致。 

404(找不到) 

伺服器上不存在客戶機所請求的資源。

500(內部伺服器錯誤) 

伺服器端的cgi 、 asp 、 jsp 等程式發生錯誤。

http響應細節——常用響應頭

http請求中的常用響應頭

location:  //重定向url

server:apache tomcat

content-encoding: gzip 

content-length: 80 

content-language: zh-cn 

content-type: text/html; charset=gb2312 

last-modified: fri, 11 dec 2015 18:23:51 gmt

refresh: 1;url=

content-disposition: attachment; filename=aaa.zip

transfer-encoding: chunked  

set-cookie:ss=q0=5lb_nq; path=/search

etag: w/"7777-1242234904000"

expires: -1

cache-control: no-cache  

pragma: no-cache   

connection: close/keep-alive   

date: fri, 11 dec 2015 18:23:51 gmt

tcp建立連線/三次握手

四次揮手:

udp:提供了不面向連線通訊,適合一次傳輸小量資料,可靠性由應用層負責

TCP協議 UDP協議

tcp是面向連線的傳輸層的協議,它在程序互動時,會建立乙個鏈結,然後在傳輸資料之後會取消連線,tcp的鏈結是虛連線。每一條tcp連線只能有兩個端點,只能是點對點的資料鏈結,不能進行廣播。tcp提供可靠的按時交付的 無差錯的 不重複的 按序到達的服務 可靠有序 不丟不重 tcp提供全雙工通訊 傳送快取...

TCP和UDP協議理解

我們學習過什麼是 資料報 理解資料報,對於網路管理的網路安全具有至關重要的意義.比如,防火牆的作用本質就是檢測網路中的資料報,判斷其是否違反了預先設定的規則,協議 欄中有 tcp udp 等名詞,它們是什麼意思呢?現在我們就來講講什麼是tcp和udp 面向連線的tcp 面向連線 就是在正式通訊前必須...

對問題 Http是TCP協議還是UDP協議的回答

1 tcp ip是個協議組,可分為三個層次 網路層 傳輸層和應用層。在網路層有ip協議 icmp協議 arp協議 rarp協議和bootp協議。在傳輸層中有tcp協議與udp協議。在應用層有ftp http telnet smtp dns等協議。因此,http本身就是乙個協議,是從web伺服器傳輸超...