HTTP協議常用的請求頭和響應頭響應詳解說明(學習)
目錄
- 一、前言
- 二、Http請求頭:
- 1、Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- 2、 Accept-Encoding:gzip, deflate
- 3、 Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
- 4、 Connection:keep-alive;
- 5、 Cookie:JSESSIONID=2B5F5F6380CA6339CEF98AD9A9E95AB4
- 6、 Host:localhost:8080
- 7、 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:55.0) Gecko/20100101 Firefox/55.0
- 8、 Pragma
- 三、 Http響應頭
- 1、 Content-Language:zh-CN
- 2、 Content-Length:317
- 3、 Content-Type:text/html;charset=UTF-8
- 4、 Date:Thu, 07 Sep 2017 14:34:35
- 5、 GMTServer:Apache-Coyote/1.1
- 6、 HTTP/1.1 200 OK
通常HTTP消息包括客戶機向服務器的請求消息和服務器向客戶機的響應消息。這兩種類型的消息由一個起始行,一個或者多個頭域,一個只是頭域結束的空行和可選的消息體組成。HTTP請求頭提供了關于請求,響應或者其他的發送實體的信息。HTTP的頭信息包括通用頭、請求頭、響應頭和實體頭四個部分。每個頭域由一個域名,冒號(:)和域值三部分組成。
一、前言
一次完整的HTTP請求所經歷的7個步驟
說明:HTTP通訊機制是在一次完整的HTTP通訊過程當中,web瀏覽器與web服務器之間將完成下列7個步驟:緩存
- 創建TCP鏈接
- Web瀏覽器向web服務器發送請求命令 例如:GET /sample/hello.jsp HTTP 1.1
- Web瀏覽器發送請求頭信息
- Web服務器應答 例如:HTTP/1.1 200 ok
- Web服務器發送應答頭信息
- Web服務器向瀏覽器發送數據
- Web服務器關閉TCP鏈接
二、Http請求頭:
1、Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
意思:瀏覽器支持的請求 MIME 類型分別是 text/html、application/xhtml+xml、application/xml 和 */*,優先順序是它們從左到右的排列順序
詳解:
Accept表示瀏覽器支持的 MIME 類型;
MIME的英文全稱是 Multipurpose Internet Mail Extensions(多功能 Internet 郵件擴充服務),它是一種多用途網際郵件擴充協議,在1992年最早應用于電子郵件系統,但后來也應用到瀏覽器。
text/html,application/xhtml+xml,application/xml 都是 MIME 類型,也可以稱為媒體類型和內容類型,斜杠前面的是 type(類型),斜杠后面的是 subtype(子類型);type 指定大的范圍,subtype 是 type 中范圍更明確的類型,即大類中的小類。
Text:用于標準化地表示的文本信息,文本消息可以是多種字符集和或者多種格式的;
text/html :表示 html 文檔;
Application:用于傳輸應用程序數據或者二進制數據;
application/xhtml+xml :表示 xhtml 文檔;
application/xml:表示 xml 文檔。
2、 Accept-Encoding:gzip, deflate
意思:瀏覽器支持的壓縮編碼是 gzip 和 deflate。
詳解:
Accept-Encoding表示瀏覽器有能力解碼的編碼類型;
gzip是 GNU zip 的縮寫,它是一個 GNU 自由軟件的文件壓縮程序,也經常用來表示 gzip 這種文件格式。
deflate是同時使用了 LZ77 算法與哈夫曼編碼(Huffman Coding)的一個無損數據壓縮算法。
3、 Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
意思:瀏覽器支持的語言分別是中文和簡體中文,優先支持簡體中文。
4、 Connection:keep-alive;
Connection表示客戶端與服務連接類型;
Keep-Alive表示持久連接;
如果Servlet看到這里的值為“Keep - Alive”,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久連接),它就可以利用持久連接的優點,當頁面包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。要實現這一點,Servlet需要在應答中發送一個Content - Length頭,最簡單的實現方法是:先把內容寫入ByteArrayOutputStream,然后在正式寫出內容之前計算它的大小。
5、 Cookie:JSESSIONID=2B5F5F6380CA6339CEF98AD9A9E95AB4
緩存的sessionID和瀏覽器中的緩存,沒有緩存是無法實現session相關功能的。
6、 Host:localhost:8080
Host表示請求的服務器網址;
7、 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:55.0) Gecko/20100101 Firefox/55.0
意思:使用的用戶代理是 Mozilla/5.0 (compatible; 域名)。
8、 Pragma
指定“no - cache”值表示服務器必須返回一個刷新后的文檔,即使它是代理服務器而且已經有了頁面的本地拷貝,常用來禁止緩存。
三、 Http響應頭
1、 Content-Language:zh-CN
響應的語言類型,中文簡體
2、 Content-Length:317
響應的內容的長度
3、 Content-Type:text/html;charset=UTF-8
響應具體MIME類型
4、 Date:Thu, 07 Sep 2017 14:34:35
響應時間
5、 GMTServer:Apache-Coyote/1.1
響應的服務器類型
6、 HTTP/1.1 200 OK
響應的狀態碼
詳解:
在本例中,狀態行給出的HTTP狀態代碼是200,以及消息OK。狀態行始終包含的是狀態碼和相應的簡短消息,以避免混亂。最常用的狀態碼有:
◆200 (OK): 找到了該資源,并且一切正常。
◆304 (NOT MODIFIED): 該資源在上次請求之后沒有任何修改。這通常用于瀏覽器的緩存機制。
◆401 (UNAUTHORIZED): 客戶端無權訪問該資源。這通常會使得瀏覽器要求用戶輸入用戶名和密碼,以登錄到服務器。
◆403 (FORBIDDEN): 客戶端未能獲得授權。這通常是在401之后輸入了不正確的用戶名或密碼。
◆404 (NOT FOUND): 在指定的位置不存在所申請的資源。
◆500:服務器異常。
到此這篇關于HTTP協議常用的請求頭和響應頭響應詳解說明(學習)的文章就介紹到這了,更多相關HTTP請求頭和響應頭內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
