HTTP協議小結

2021-07-09 08:56:54 字數 1792 閱讀 1002

應答頭

說明allow

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

content-encoding

content-length

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

content-type

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

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 協議小結

1.請求行,狀態行只有一行 2.訊息頭由只有乙個部分 3.訊息頭與實體之間通過空行隔開 r n 4.可以存在多個實體部分,實體之間通過空行分開 在content type multipart form data的型別當中 5.連續兩個 r n只是乙個部分的分隔符 6.訊息頭,實體頭的格式 1.x 空...

HTTP協議小結

todo 補充細節 三次握手 1.傳送端 標有syn的資料報 接收端 2.接收端 標有syn ack的資料報 傳送端 3.傳送端 標有ack的資料報 接收端 http協議是無狀態的,為了儲存狀態引入了cookies get用來請求已經被url識別的資源。伺服器解析後就返回。比如請求文字就原樣返回,要...

超文字傳輸協議HTTP小結

http hyper text transfer protocol 超文字傳輸協議 1 url uniform resource locator 統一資源定位符,也稱web位址 格式 協議 主機網域名稱 ip位址 埠號 目錄檔案 檔名 協議 表示網際網路資源型別 http 表示www伺服器 ftp ...