引言正文
請求結構示例
響應結構
響應結構示例
有彩蛋哦!!!之前介紹了springmvc接收到乙個請求之後,是如何分發,處理的。今天用瀏覽器的開發工具,無意間點開了http的請求結構,發現這一部分的知識竟然是空白的,趕緊補充一下
請求結構分為,請求行,訊息報頭,請求正文
以方法符號開頭 空格分隔 後面跟著請求的uri 和 協議版本
示例:get /damapi/api/dam/companys http/1.1
accept 用於指定客戶端接受哪些型別的資訊
accept: image/gif 表明客戶端希望接收gif影象
accept: text/html 表明客戶端希望接收gif影象
accept-charset 用於指定客戶端接受的字符集
accept-charset:iso-8859-1,gb2312 如果沒有指定,預設是任何字符集都可以接受
accept-encoding 用於指定可接受的編碼
accept-encoding: gzip, deflate, br
如果沒有指定,預設是任何字符集都可以接受
accept-language 使用者指定一種自然語言
accept-language: zh-cn,zh;q=0.9
host(傳送請求時,該報頭是必需的)
用於指定請求資源的internet主機和埠號,通常從http url中提取出來
例如 host:dam.spic.com.cn
預設埠號是80,若指定了埠號變成dam.spic.com.cn:指定埠號
user-agent
referer
referer 告訴瀏覽器是從哪個鏈結來的
accept-encoding: gzip, deflate, br
accept-language: zh-cn,zh;q=0.9
以協議版本開頭 空格分隔 後面跟著狀態碼 和描述資訊
示例:http/1.1 200 ok
content-encoding 指定文件編碼
content-length 指定內容長度
只有當瀏覽器使用持久http連線時才需要這個資料。如果你想要利用持久連線的優勢,可以把輸出文件寫入bytearrayoutputstram,完成後檢視其大小,然後把該值放入content-length頭,最後通過bytearraystream.writeto(response.getoutputstream())傳送內容
content-type
表示後面的文件屬於什麼mime型別。servlet預設為text/plain,但通常需要顯示地指定為text/html。可以用setcontenttype設定
date
當前gmt時間,可以通過setdateheader設定
expires
指明應該在什麼時候認為文件已經過期,從而不再快取它
last-modified
文件最後改動時間。可以通過if-modified-since請求頭提供乙個日期,該請求將被視為乙個條件get,只有改動時間遲於指定時間的文件才會返回,否則返回乙個304(not modified)狀態。可以通過setdateheader設定
location
表示客戶應當到**提取文件。location通常不是直接設定的,而是通過httpservletresponse的sendredirect方法,該方法同時設定狀態**為302
refresh
表示瀏覽器應該在多少時間之後重新整理文件,以秒為單位。除了舒心當前文件之外,還可以通過setheader("", 「5,url=http:host:port/path」)讓瀏覽器讀取指定頁面。注意這種功能通常是通過設定html頁面head區的實現,這是因為,自動重新整理或重定向對於那些不能使用cgi或servlet的html編寫者十分重要。但是,對於servlet來說,直接設定refresh頭更加方便。注意refresh的意義是「n秒之後重新整理本頁面或訪問指定頁面」,而不是「每隔n秒重新整理本頁面或訪問指定頁面」。因此,連續重新整理要求每次都傳送乙個refresh頭,而傳送204狀態**則可以阻止瀏覽器繼續重新整理,不管是使用refresh頭還是。注意refresh頭不屬於http 1.1正式規範的一部分,而是乙個擴充套件,但netscape和ie都支援它。
HTTP協議 請求與響應
1 簡介 2 http請求與響應 2.1 http請求 方法 get請求獲取由 request uri 所表示的資源 post 在 request uri 所標識的資源後附加新的資料 head 請求獲取由 request uri 所標識的資源的響應訊息報頭 put請求伺服器儲存乙個資源,並用 req...
http協議請求響應詳解
http協議請求響應詳解 一 http協議簡介 http是hypertext transferprotocol 超文字傳輸協議 的簡寫,它是tcp ip協議的乙個應用層協議,用於定義web瀏覽器與web伺服器之間交換資料的過程及資料本身的格式。二 http1.0的基本執行方式 1 基於http協議的...
HTTP協議請求和響應報文分析
請求行 method 請求方法 get 請求指定的頁面資訊,並返回實體主體。head 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭 post 向指定資源提交資料進行處理請求 例如提交表單或者上傳檔案 資料被包含在請求體中。post請求可能會導致新的資源的建立和 或已有資源的修改。...