HTTP 請求頭 Header
HTTP 請求頭 Header HTTP請求頭概述 (HttpServletRequest) HTTP客戶程式(例如瀏覽器),向伺服器傳送請求的時候必須指明請求型別(一般是GET或者POST或者HEAD)。
如有必要,客戶程式還可以選擇傳送其他的請求頭。大多數請求頭並不是必需的,但Content-Length除外。對於POST請求來說Content-Length必須出現。 下面是一些最常見的請HTTP請求頭概述 (HttpServletRequest)
HTTP客戶程式(例如瀏覽器),向伺服器傳送請求的時候必須指明請求型別(一般是GET或者POST)。如有必要,客戶程式還可以選擇傳送其他的請求頭。大多數請求頭並不是必需的,但Content-Length除外。對於POST請求來說Content-Length必須出現。
下面是一些最常見的請求頭
Accept:瀏覽器可接受的MIME型別。
Accept-Charset:瀏覽器可接受的字符集。
Accept-Encoding:瀏覽器能夠進行解碼的資料編碼方式,比如gzip。Servlet能夠向支援gzip的瀏覽器返回經gzip編碼的HTML頁面。許多情形下這可以減少5到10倍的下載時間。
Accept-Language:瀏覽器所希望的語言種類,當伺服器能夠提供一種以上的語言版本時要用到。
Authorization:授權資訊,通常出現在對伺服器傳送的WWW-Authenticate頭的應答中。
Connection:表示是否需要持久連線。如果Servlet看到這裡的值為“Keep-Alive”,或者看到請求使用的是HTTP 1.1(HTTP 1.1預設進行持久連線),它就可以利用持久連線的優點,當頁面包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。要實現這一點,Servlet需要在應答中傳送一個Content-Length頭,最簡單的實現方法是:先把內容寫入ByteArrayOutputStream,然後在正式寫出內容之前計算它的大小。
Content-Length:表示請求訊息正文的長度。
Cookie:這是最重要的請求頭資訊之一
From:請求傳送者的email地址,由一些特殊的Web客戶程式使用,瀏覽器不會用到它。
Host:初始URL中的主機和埠。
If-Modified-Since:只有當所請求的內容在指定的日期之後又經過修改才返回它,否則返回304“Not Modified”應答。
Pragma:指定“no-cache”值表示伺服器必須返回一個重新整理後的文件,即使它是代理伺服器而且已經有了頁面的本地拷貝。
Referer:包含一個URL,使用者從該URL代表的頁面出發訪問當前請求的頁面。
User-Agent:瀏覽器型別,如果Servlet返回的內容與瀏覽器型別有關則該值非常有用。
UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE瀏覽器所傳送的非標準的請求頭,表示螢幕大小、顏色深度、作業系統和CPU型別。
HTTP應答頭概述(HttpServletResponse)
Web伺服器的HTTP應答一般由以下幾項構成:一個狀態行,一個或多個應答頭,一個空行,內容文件。設定HTTP應答頭往往和設定狀態行中的狀態程式碼結合起來。例如,有好幾個表示“文件位置已經改變”的狀態程式碼都伴隨著一個Location頭,而401(Unauthorized)狀態程式碼則必須伴隨一個WWW-Authenticate頭。
然而,即使在沒有設定特殊含義的狀態程式碼時,指定應答頭也是很有用的。應答頭可以用來完成:設定Cookie,指定修改日期,指示瀏覽器按照指定的間隔重新整理頁面,宣告文件的長度以便利用持久HTTP連線,……等等許多其他任務。
設定應答頭最常用的方法是HttpServletResponse的setHeader,該方法有兩個引數,分別表示應答頭的名字和值。和設定狀態程式碼相似,設定應答頭應該在傳送任何文件內容之前進行。
setDateHeader方法和setIntHeadr方法專門用來設定包含日期和整數值的應答頭,前者避免了把Java時間轉換為GMT時間字串的麻煩,後者則避免了把整數轉換為字串的麻煩。
HttpServletResponse還提供了許多設定
setContentType:設定Content-Type頭。大多數Servlet都要用到這個方法。
setContentLength:設定Content-Length頭。對於支援持久HTTP連線的瀏覽器來說,這個函式是很有用的。
addCookie:設定一個Cookie(Servlet API中沒有setCookie方法,因為應答往往包含多個Set-Cookie頭)。
另外,如上節介紹,sendRedirect方法設定狀態程式碼302時也會設定Location頭。
HTTP應答頭 說明
Allow 伺服器支援哪些請求方法(如GET、POST等)。
Content-Encoding 文件的編碼(Encode)方法。只有在解碼之後才可以得到Content-Type頭指定的內容型別。利用gzip壓縮文件能夠顯著地減少HTML文件的下載時間。Java的GZIPOutputStream可以很方便地進行gzip壓縮,但只有Unix上的Netscape和Windows上的IE
4、IE 5才支援它。因此,Servlet應該通過檢視Accept-Encoding頭(即request.getHeader("Accept-Encoding"))檢查瀏覽器是否支援gzip,為支援gzip的瀏覽器返回經gzip壓縮的HTML頁面,為其他瀏覽器返回普通頁面。
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)。
相關推薦
HttpClient設定HTTP請求頭Header
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
http 請求頭 header Referer 含義和作用
Referer是header的一部分,當瀏覽器向web伺服器傳送請求的時候,一般會帶上Referer,告訴伺服器頁面的請求地址,伺服器就可以進行資訊處理了。 HTTP Referer的一些實際用途:
HTTP請求頭header解析具體含義
Request Headers: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip
HTTP 請求頭 Header
HTTP 請求頭 Header HTTP請求頭概述 (HttpServletRequest) HTTP客戶程式(例如瀏覽器),向伺服器傳送請求的時候必須指明請求型別(一般是GET或者POST或者HEAD)。 如有必要,客戶程式還可以選擇傳送其他的請求頭。大多數請求頭並不是必需的,但Content-Le
Google Chrome/IE/FireFox檢視HTTP請求頭request header響應頭response header|審查元素Network空的不顯示
來自:http://1.snowson.sinaapp.com/?p=359 chrome檢視網頁header,滑鼠右鍵開啟審查元素,或快捷鍵Shift+Ctrl+I或者shift+ctrl+c 當我開啟Network後,發現裡面是空的什麼也沒有。 查了下,才知,需要重
HTTP 請求頭中的 X-Forwarded-For,X-Real-IP
進行 gnu 防止 cal 截取 雲服務器 sta 分配 wow X-Forwarded-For 在使用nginx做反向代理時,我們為了記錄整個的代理過程,我們往往會在配置文件中做如下配置: location / { 省略...
HTTP請求頭和響應頭
.cn 訪問 htm ref 頁面 格式 技術分享 -s charset 這篇文章簡單總結一下HTTP請求頭和響應頭,並舉一些web開發中響應頭的用例。 1. HTTP請求頭 accept:瀏覽器通過這個頭告訴服務器,它所支持的數據類型。如:text/html,
【筆記】如何查看HTTP請求頭&&【實驗吧】天下武功唯快不破
mage key 經驗 int .com images 有一個 work 數據 打開Chrome瀏覽器,點擊右上角“三”按鈕。 點擊工具-----再點擊開發者工具 找到Network選項框。以百度經驗頁面為例,點擊任務選框來查看網絡請求流 在N
Retrofit2 動態(靜態)添加請求頭Header
tasks span 添加 lang family fit earch gpo resp Retrofit提供了兩個兩種定義HTTP請求頭字段的方法即靜態和動態。靜態頭不能改變為不同的請求,頭的鍵和值是固定的且不可改變的,隨著程序的打開便已固定。 動態添加 @GET("/
http請求頭信息
dddd permanent 請求頭 nav 先決條件 定時 all HR agen 1.HTTP Request Header 請求頭信息對照表 Header解釋示例 Accept 指定客戶端能夠接收的內容類型 Accept: text/plain, te
http請求頭和響應頭詳細解釋
pad 使用 after 網絡資源 max OS lai 通信 緩存 想對http請求頭和響應頭有更細致的了解,請看如下 Requests部分 Header解釋示例 Accept 指定客戶端能夠接收的內容類型 Accept: text/plain, text/html
HTTP請求頭圖片打開
HTTP請求頭圖片打開 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; impo
http 請求頭大小寫的問題
mes enum 請求 == 大小寫 crypt num ati null 如果是默認消息頭名稱,消息頭格式已經固定,即便輸入的大小寫有誤,也會給你翻譯成默認的寫法,如果自己定義的,會自動給你翻譯成小寫,所以傳參數的名稱都用小寫字母即可,否則可能取不到值,比如encrypt
給RabbitMQ發送消息時,設置請求頭Header。
span ima payload public ade chang cep image alt 消費者 由於消費者那裏,@Payload是接受的消息體,使用了@Header註解,需要請求頭,生產者這邊就要設置,如下代碼: 這是RabbitTemplate中的co
【轉】Http請求頭有哪些
每個HTTP請求和響應都會帶有相應的頭部資訊。預設情況下,在傳送XHR請求的同時,還會發送下列頭部資訊: Accept:瀏覽器能夠處理的內容型別 Accept-Charset:瀏覽器能夠顯示的字符集 Accept-Encoding:瀏覽器能夠處理的壓縮編碼 Accept-
AFN設定HTTP請求頭
1、比如在使用Post請求,引數使用raw方式的時候,我們可以設定請求頭解決問題。 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];manager.securityPolicy = [AFSecurityPolicy p
PHP接收http請求頭信息
定義函數 lac subst png 自定義 接收 style 自定義函數 col 1、PHP 自帶函數 getallheaders() 目前 getallheaders() 只能用於 apache 中。如果想在 nginx 中也能使用,可以使用自定義函數。 fore
PHP接收http請求頭資訊
1、PHP 自帶函式 getallheaders() 目前 getallheaders() 只能用於 apache 中。如果想在 nginx 中也能使用,可以使用自定義函式。 foreach (getallheaders() as $name => $value)
Http請求頭中請求
今天用到HEAD方法,有必要對請求方法做一個瞭解。 根據HTTP標準,HTTP請求可以使用多種請求方法。 HTTP1.0定義了GET、POST和HEAD三種方法,也是我現在用到的三個方法。 HTTP1.1加了OPTIONS PUT DELETE TRACE和CONNECT方法。
Java學習|HTTP請求頭
https://www.cnblogs.com/honghong87/articles/6941436.html 常見http請求報文頭屬性 Accept:告訴服務端,客戶端接受什麼型別的響應,例如: