java EE : http 協議之請求報文、響應報文

1 HTTP協議特色
1)客戶端->服務端(請求request)有三部份
a)請求行html

b)請求頭java

c)請求的內容,若是沒有,就是空白字符 apache


2)服務端->客戶端(響應response)有三部瀏覽器

a)響應行緩存

b)響應頭tomcat

c)響應的內容,若是沒有,就是空白字符 服務器

*2 HTTP請求頭和響應頭含義
1)請求(客戶端->服務端[request])
GET(請求的方式) /books/java.html(請求的目標資源) HTTP/1.1(請求採用的協議和版本號)優化


Accept: */*(客戶端能接收的資源類型)編碼


Accept-Language: en-us(客戶端接收的語言類型)url


Connection: Keep-Alive(維護客戶端和服務端的鏈接關係)


Host: localhost:8080(鏈接的目標主機和端口號)


Referer: http://localhost/links.asp(歷來於哪裏)


User-Agent: Mozilla/4.0(客戶端版本號的名字)


Accept-Encoding: gzip, deflate(客戶端能接收的壓縮數據的類型)


If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT(緩存時間)


Cookie(客戶端暫存服務端的信息)


Date: Tue, 11 Jul 2000 18:23:51 GMT(客戶端請求服務端的時間)


2)響應(服務端->客戶端[response])
HTTP/1.1(響應採用的協議和版本號) 200(狀態碼) OK(描述信息)


302(客戶端請求服務端,但服務端沒有對應的資源,服務端要客戶端再次請求找其它的服務端,即客戶端二次請求,重定向)
307(客戶端請求服務端,但服務端沒有對應的資源,服務端自行再次請求找其它的服務端,即客戶端一次請求,轉發)
304(客戶端請求服務端,此時客戶端緩存中有,無需再從服務端下載新的內容,服務端叫客戶端自行找緩存,優化)
500(客戶端請求的資源,服務端存在,但在執行時出錯)


Location: http://www.baidu.com(服務端須要客戶端訪問的頁面路徑)


Server:apache tomcat(服務端的Web服務端名)


Content-Encoding: gzip(服務端可以發送壓縮編碼類型)


Content-Length: 80(服務端發送的壓縮數據的長度)


Content-Language: zh-cn(服務端發送的語言類型)


Content-Type: text/html; charset=GB2312(服務端發送的類型及採用的編碼方式)


Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT(服務端對該資源最後修改的時間)


Refresh: 1;url=http://www.it315.org(服務端要求客戶端1秒鐘後,刷新,而後訪問指定的頁面路徑)


Content-Disposition: attachment; filename=aaa.zip(服務端要求客戶端如下載文件的方式打開該文件)


Transfer-Encoding: chunked(分塊傳遞數據到客戶端)


Set-Cookie:SS=Q0=5Lb_nQ; path=/search(服務端發送到客戶端的暫存數據)


Expires: -1//3種(服務端禁止客戶端緩存頁面數據)


Cache-Control: no-cache(服務端禁止客戶端緩存頁面數據)


Pragma: no-cache(服務端禁止客戶端緩存頁面數據)


Connection: close(1.0)/(1.1)Keep-Alive(維護客戶端和服務端的鏈接關係)


Date: Tue, 11 Jul 2000 18:23:51 GMT(服務端響應客戶端的時間)

3)總結
想讓瀏覽器有何種行爲,服務端只能經過響應頭的方式來設置

想讓服務器知道何種行爲,瀏覽器只能經過請求頭的方式來設置

相關文章
相關標籤/搜索