一、 通用頭欄位 1. connection 這個欄位只在http1.1協議中存在。它決定了客戶端和伺服器進行了一次會話後,伺服器是否立即關閉網路連線。在客戶端最直接的表現是使用read方法 (readline方法也是一樣)讀完客戶端請求的web資源後,是否立即返回-1(readline返回null)。
一、通用頭欄位
1. connection
(1)在http模擬器中輸入如下的網域名稱:
www.baidu.com(2)http模擬器中輸入如下的http請求資訊:
(3)按兩下回車(輸入乙個空行)後,傳送請求訊息,並得到如圖1如示的http響應訊息頭:
圖1 (4)輸入y或y後(在顯示http響應頭後,要立刻輸入y或y),顯示響應訊息的內容。在顯示完內容後,大約過了10秒鐘才進入"host:port>"提示符(因為在sendhttprequest()的實現**中的004行設定了讀取資料超時)。
(5)在"host:port>"提示符下直接按回車,輸入最近一次使用的網域名稱www.baidu.com和80埠。再次輸入如下的http請求:
輸入完以上的http請求後,重新執行第3、4步操作。最後在顯示http響應訊息內容後,直接直入了"host:port>"提示符。除了這種方法,將請求的第一行改為get / http/1.0.這樣也可以無需等待直接結束。
2. date
這個date頭欄位描述了請求訊息和響應訊息被建立的時間。這個字段值是乙個http-date型別,它的格式必須是gmt(格林尼治)時間,gmt時間是就是北京時間減8小時。下面是date欄位的乙個例子:
date: tue, 15 nov 2007 08:12:31 gmt3. content-length
指定訊息實體的位元組數。在請求訊息中post方法必須使用content-length來指定請求訊息的實體內容的位元組數。在響應訊息中這個字段值指定了當前http響應所返回的web資源的位元組數。
二、http請求訊息頭欄位
1. host
host欄位用於指定客戶端所訪問的資源所在的主機名和埠號。如果埠號等於連線伺服器時所使用的埠號,則埠號可以省略。下面是乙個使用host欄位的乙個例子:
host: www.sina.com.cn這個欄位是必須的,如果http請求不包含這個字段,伺服器將返回400(bad request)響應狀態。
2. accept
accept欄位頭確定客戶端可以接收的**型別。一般的格式是"*/*"或"型別/"子型別".這個子段頭可以傳遞多個**型別,中間用","隔開。如下面是乙個accept的例子:
accept::image/gif,image/jpg如果請求頭使用上述的accept字段值,則伺服器端在動態生成網頁的img頭時將首先包含gif格式的影象,如果gif圖象不存在,則包含jpg格式的圖象。
3. user-agent
這個欄位頭用於指定客戶端是用什麼訪問的伺服器,如果是ie6瀏覽器,並且本機安裝了。net 2.0,則user-agent會有如下的值:
user-agent: mozilla/4.0 (伺服器可以通過這個字段檢查客戶機的瀏覽器版本,並根據不同的版本來確定向客戶端傳送的資料。compatible;
msie 6.0;
windows nt 5.2;
sv1; maxthon;
.net clr 1.1.4322;
.net clr 2.0.50727;
infopath.1; infopath.2)
4. range
(1)range: bytes=1000-2000
傳輸範圍從1000到2000位元組。
(2)range: bytes=1000-
傳輸web資源中第1000個位元組以後的所有內容。
(3)range bytes=1000
傳輸最後1000個位元組。
三、http響應訊息頭欄位
1. accept-ranges
這個字段說明web伺服器是否支援range(是否支援斷點續傳功能),如果支援,則返回accept-ranges: bytes,如果不支援,則返回accept-ranges: none.
2. content-range
指定了返回的web資源的位元組範圍。這個字段值的格式是:
開始位元組位置—結束位元組位置/web資源的總位元組數
下面是乙個使用content-range的例子:
content-range:1000-3000/5000
測試 在http模擬器中連線伺服器files.cnblogs.com,並輸入如下的http請求訊息:
返回的響應訊息頭如圖2所示:
圖2 從上圖可以看出,伺服器files.cnblogs.com支援斷點繼傳功能。而且還可以驗證content-length的值是當前會話傳過來的位元組數,並不是web資源的總的位元組數。而content-range字段值中"/"後面的數才是web資源總的位元組數。
3. location
這個字段指定了上哪個新位址獲得新的web資源。當web資源更換url後,而一些老使用者不能及時得知這個新的url;因此,在老使用者訪問原來的url時,使用location將這個新的url返回給客戶端。這個位址轉換對使用者來說是完全透明。
HTTP訊息頭欄位深入介紹
http響應訊息頭欄位 1.accept ranges 這個字段說明web伺服器是否支援range 是否支援斷點續傳功能 如果支援,則返回accept ranges bytes,如果不支援,則返回accept ranges none.2.content range 指定了返回的web資源的位元組範圍...
http 請求頭欄位
1.http1.0請求協議特點是一次只能訪問伺服器上的乙個請求資源,請求完畢後伺服器立馬斷開連線 http1.1協議則可訪問多個資源。2.get請求資料容量不能超過1k,get請求陣列在請求資源後邊即在請求行 post請求資料量沒限制,post請求資料在請求體中 3.請求頭各欄位詳解 accept ...
Http頭欄位總結
請求字段 accept 告訴web伺服器自己接受什麼介質型別,表示任何型別,type 表示該型別下的所有子型別,typesub type。accept charset 瀏覽器申明自己接收的字符集。accept encoding 瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支援壓縮,支援什麼壓...