HTTP協議4 HTTP 響應頭資訊

2021-07-25 09:48:06 字數 1863 閱讀 7374

http請求頭提供了關於請求,響應或者其他的傳送實體的資訊。

在本章節中我們將具體來介紹http響應頭資訊。

應答頭說明

allo w

伺服器支援哪些請求方法(如get、post等)。

content-encoding

content-length

表示內容長度。只有當瀏覽器使用持久http連線時才需要這個資料。如果你想要利用持久連線的優勢,可以把輸出文件寫入 bytearrayoutputstream,完成後檢視其大小,然後把該值放入content-length頭,最後通過bytearraystream.writeto(response.getoutputstream()傳送內容。

content-type

表示後面的文件屬於什麼mime型別。servlet預設為text/plain,但通常需要顯式地指定為text/html。由於經常要設定content-type,因此httpservletresponse提供了乙個專用的方法setcontenttype。

date

當前的gmt時間。你可以用setdateheader來設定這個頭以避免轉換時間格式的麻煩。

expires

應該在什麼時候認為文件已經過期,從而不再快取它?

last-modified

文件的最後改動時間。客戶可以通過if-modified-since請求頭提供乙個日期,該請求將被視為乙個條件get,只有改動時間遲於指定時間的文件才會返回,否則返回乙個304(not modified)狀態。last-modified也可用setdateheader方法來設定。

location

表示客戶應當到**去提取文件。location通常不是直接設定的,而是通過httpservletresponse的sendredirect方法,該方法同時設定狀態**為302。

refresh

表示瀏覽器應該在多少時間之後重新整理文件,以秒計。除了重新整理當前文件之外,你還可以通過setheader("refresh", "5; url=http://host/path")讓瀏覽器讀取指定的頁面。 

注意這種功能通常是通過設定html頁面head區的<meta http-equiv="refresh" content="5;url=http://host/path">實現,這是因為,自動重新整理或重定向對於那些不能使用cgi或servlet的html編寫者十分重要。但是,對於servlet來說,直接設定refresh頭更加方便。 

注意refresh的意義是"n秒之後重新整理本頁面或訪問指定頁面",而不是"每隔n秒重新整理本頁面或訪問指定頁面"。因此,連續重新整理要求每次都傳送乙個refresh頭,而傳送204狀態**則可以阻止瀏覽器繼續重新整理,不管是使用refresh頭還是<meta http-equiv="refresh" ...>。 

注意refresh頭不屬於http 1.1正式規範的一部分,而是乙個擴充套件,但netscape和ie都支援它。

server

伺服器名字。servlet一般不設定這個值,而是由web伺服器自己設定。

set-cookie

設定和頁面關聯的cookie。servlet不應使用response.setheader("set-cookie", ...),而是應使用httpservletresponse提供的專用方法addcookie。參見下文有關cookie設定的討論。

www-authenticate

客戶應該在authorization頭中提供什麼型別的授權資訊?在包含401(unauthorized)狀態行的應答中這個頭是必需的。例如,response.setheader("www-authenticate", "basic realm=\"executives\"")。 

注意servlet一般不進行這方面的處理,而是讓web伺服器的專門機制來控制受密碼保護頁面的訪問(例如.htaccess)。

初識HTTP協議(4) HTTP協議版本

http協議是基於tcp ip通訊協議,工作在應用層,用來規定www伺服器與瀏覽器之間資訊傳遞規範的 hypertext transfer protocol 超文字傳輸協議。web伺服器預設監聽80埠。http工作原理,這個大佬寫的很詳細 原型版本,功能簡陋,只有乙個命令get。get index....

JSP學習筆記(4) HTTP協議

jsp學習筆記 4 http協議 這篇寫關於http的內容 1.http協議 1 http 超文字傳輸協議,在網路上傳輸超文字的協議 2 以下是客戶端瀏覽器向伺服器傳送的http請求資料 ie瀏覽器 chrome瀏覽器 3 瀏覽器不同,但是傳送的鍵值,基本相同,只是值不同 ie瀏覽器和chrome瀏...

HTTP協議詳解4 http訊息報文詳解

http訊息報文詳解 1 請求頭 請求頭只出現在http請求中,請求報頭允許客戶端向服務端傳遞請求的附加資訊和客戶端自身資訊 host host請求報頭域主要用於指定被請求資源的internet主機和埠號 host www.xxser.com 801 user agent 請求報頭允許客戶端將它的作...