HTTP協議的結構

2021-03-31 08:57:00 字數 1708 閱讀 6198

1、 簡介

http(hypertext transfer protocol),中文名稱為超文字傳輸協議,工作在osi七層體系中的應用層,屬於高層應用協議。

http協議主要用在瀏覽器和web伺服器之間進行通訊。

http協議使用明文進行傳輸,如果需要加密傳輸,可以使用https(注:j2me暫時不支援)。

2、http協議版本

http協議有3個版本,依次是0.9、1.0、1.1。當前最新版本是1.1,但是1.0受到普遍支援。

3、協議格式

http協議是使用明文進行傳輸,協議主要分為三個部分:

a)請求行/響應行:該部分只有一行,包含三個部分:請求方法 請求資源 使用的http協議的版本。例如:

其中get為請求方法,/index.html是請求的資源,http/1.1是指客戶端支援的http協議的版本。http1.0請求方法有3種,http1.1請求方法有7種。 http方法常用的有get、head、post,而put、delete、link、unlink方法 

b)頭資訊:頭資訊部分主要傳輸伺服器或者客戶端的一些設定資訊,可以有任意多個,傳輸時使用「名稱:值」的形式,例如:

accept-language: zh-**

user-agent: mozilla/4.0 (***patible; msie 5.01; windows nt 5.0)

其中http協議裡面規定了40多個頭資訊名稱的用途,你也可以根據需要,自己來進行定義。

頭資訊結束時需要乙個空行和實體資料部分分開。

c)實體資料:實體資料在請求時,如果以post方式提交時儲存引數,以get方式請求時為空。在響應時,儲存伺服器端反饋的html源**的資料。

4、http連線過程

在通訊時,由客戶端發出請求連線,服務端建立連線;然後,客戶端發出http請求(request),服務端返回響應資訊(respond),由此完成乙個http操作。

5、例子:

p 01-5-26 16:10:43 connecting to go2.163.*** ...          //連線伺服器

p 01-5-26 16:10:44 connected to go2.163.*** [61.129.65.148]     //解析ip位址,以下為http操作

s 01-5-26 16:10:44 get /~minift/epretty/pretty.zip http/1.1    //請求行(request line),表示使用get方式取得檔案,使用http/1.1協議 //以下為請求頭部(request head)

s 01-5-26 16:10:44 connection: close                //表示非持續性連線

s 01-5-26 16:10:44 host: go2.163.***                //主機名稱

s 01-5-26 16:10:44 accept: */*                   //接受的資料型別

s 01-5-26 16:10:44 pragma: no-cache                //引數(與以前的伺服器相容)

s 01-5-26 16:10:44 cache-control: no-cache             //不使用快取

Http協議結構

一 http協議結構 http報文由從客戶機到伺服器的請求和從伺服器到客戶機的響應構成。1.request格式 1.http請求行 請求頭資訊 通用資訊頭 請求頭 實體頭 空行可選的訊息體 1.注 請求行和標題必須以 作為結尾 即回車換行 1.空行內必須只有 而無其他空格。在http 1.1 協議中...

HTTP協議結構

http報文 從客戶機到伺服器的請求 從伺服器到客戶機的響應 1.請求報文的格式如下 請求頭 通用資訊頭 請求頭 實體頭 報文主體 請求行的格式為 method 分隔符 request uri 分隔符 http versioncrlf 說明如下 1 method表示完成request uri的方法,...

Http協議報文結構

http請求由狀態行 請求頭 請求正文三部分組成。狀態行包括 request url request method get remote address 61.135.169.125 443 referrer policy unsafe url請求頭就是request header 請求正文就是真正...