在建立好tcp傳輸連線後,web客戶端首先要進行的是向web伺服器傳送http請求報文,請求開啟指定的**或頁面。乙個http請求報文包括請求行(request line)、請求頭部(request header)行、空行和實體主體(entity body)行4個部分,如圖11-5所示。http報文(http請求報文和11.2.9節將要介紹的http響應報文)中各字段是沒有固定長度的。下面對這4個組成部分分別進行說明。
1.請求行
http請求報文中的「請求行」是由「請求方法」、「url」和「協議版本」3個字段組成的,它們之間均以空格進行分隔。這部分是必不可少的。在請求行的最後有乙個回車控制符和乙個換行控制符(一起以「crlf」表示),使下面的請求頭部資訊在下一行顯示。
2.請求頭部行
http請求頭部包括一系列的「請求頭」和它們所對應的值,指出允許客戶端向伺服器傳遞請求的附加資訊以及客戶端自身的資訊。當開啟乙個網頁時,瀏覽器要向**伺服器傳送乙個http請求頭,然後**伺服器根據http請求頭的內容生成當次請求的內容並傳送給瀏覽器,這就是http請求報文中的「請求頭」的作用。
http請求報文的「請求頭部」是由一系列的行組成的,每行包括「頭部欄位名」和「值」兩個字段,它們之間用英文冒號「:」分隔,但也可以沒有「請求頭部」。每一行的最後都有乙個回車控制符和乙個換行控制符(一起以「crlf」表示),使下乙個請求頭在下一行顯示。許多請求頭都允許客戶端指定多個可接收的「值」字段選項,有時甚至可以對這些「值」字段選項進行排名,多個選項間以逗號分隔。典型的http請求頭如表11-3所示
4.實體主體行
請求報文中「實體主體」部分通常是不用的。它不能在get方法中使用,僅在post方法中用於向伺服器提供一些使用者憑據資訊。
web伺服器收到客戶端發來的http請求報文,通過伺服器處理後會返回乙個http響應報文給請求的客戶端,以告知客戶端web伺服器對客戶端請求所做出的處理。如是否允許此次請求的http連線,出現了什麼連線錯誤,錯誤**和錯誤原因等。http響應報文也是由四部分組成,分別是響應行(response)、響應頭部(response header)行、空行和實體主體行,如圖11-6所示。
http響應報文中的「空行」部分只有乙個回車控制符和乙個換行控制符,其目的就是空一行顯示下面的主體資訊。「實體主體行」部分也基本不用。下面分別介紹「響應行」和「響應頭部行」
1.響應行
在http響應報文的「響應行」中主要有3個字段,分別是「協議版本」、「狀態碼」和「描述短語」,它們之間用空格分隔。最後還有乙個回車控制符和乙個換行控制符(一起用「crlf」表示)。其中「協議版本」字段用來顯示web伺服器使用的http版本。「狀態碼」字段比較重要。它用乙個3位數表示不同的狀態,如請求是否被接受,如果沒有被接受原因是什麼,共有5組取值,如表11-4所示。「描述短語」欄位是對應狀態碼的簡短描述。
「響應行」的最後也是乙個回車控制符和乙個換行控制符,然後換行進入到下面的「響應頭部行」部分
2.響應頭部行
http響應報文的「響應頭部行」由一系列行組成,每行包括「頭部欄位名」和「值」兩個字段,它們之間用英文冒號「:」分隔。每一行的最後都有乙個回車控制符和乙個換行控制符,使下乙個響應頭在下一行顯示。許多響應頭都允許伺服器指定多個返回的「值」字段選項,有時甚至可以對這些選項的「值」字段選項進行排名,多個選項間以「/」分隔。典型的http響應頭如表11-5所示。
4.實體主體行
請求報文中「實體主體」部分通常是不用的。它不能在get方法中使用,僅在post方法中用於向伺服器提供一些使用者憑據資訊。
HTTP請求 響應報文格式
http請求報文格式 http請求報文主要由請求行 請求頭部 請求正文3部分組成 1,請求行 由3部分組成,分別為 請求方法 url 見備註1 以及協議版本,之間由空格分隔 請求方法包括get head put post trace options delete以及擴充套件方法,當然並不是所有的伺服...
HTTP請求報文 響應報文
connection close 伺服器傳送完請求物件後就關閉這條連線 user agent mozilla 5.0 使用者 即向伺服器傳送請求的瀏覽器型別 accept language fr 表示使用者想得到該物件的法語版本http的請求報文第一行叫做請求行,其後繼的為首部行。請求行有三個字段 ...
http請求報文及響應報文
一 http報文格式 http報文分為兩類 請求報文request,響應報文response 二 http請求報文 ascii文字 易於人讀格式 user agent mozilla 4.0 該 型別的物件版本 connection close 不使用持久連線 accept language zh ...