客戶端通過 HTTP 請求的 Header 信息總結


 

·客戶端HTTP請求的Header信息

 

1HTTP請求方式

如下表:

方 法

描 述

GET

向Web服務器請求一個文件

POST

向Web服務器發送數據讓Web服務器進行處理

PUT

向Web服務器發送數據並存儲在Web服務器內部

HEAD

檢查一個對象是否存在

DELETE

從Web服務器上刪除一個文件

CONNECT

對通道提供支持

TRACE

跟蹤到服務器的路徑

OPTIONS

查詢Web服務器的性能

說明:

主要使用到“GET”和“POST”。

實例:

POST /test/tupian/cm HTTP/1.1

分成三部分:

(1)POST:HTTP請求方式

(2)/test/tupian/cm:請求Web服務器的目錄地址(或者指令)

(3)HTTP/1.1: URI(Uniform Resource Identifier,統一資源標識符)及其版本

備注:

         在Ajax中,對應method屬性設置。

 

2Host

說明:

請求的web服務器域名地址

實例:

例如web請求URL:http://zjm-forum-test10.zjm.baidu.com:8088/test/tupian/cm

Host就為zjm-forum-test10.zjm.baidu.com:8088

 

3User-Agent

說明:

HTTP客戶端運行的瀏覽器類型的詳細信息。通過該頭部信息,web服務器可以判斷到當前HTTP請求的客戶端瀏覽器類別。

實例:

    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

 

4Accept

說明:

指定客戶端能夠接收的內容類型,內容類型中的先后次序表示客戶端接收的先后次序。

實例:

         例如:

Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

備注:

在Prototyp(1.5)的Ajax代碼封裝中,將Accept默認設置為“text/javascript, text/html, application/xml, text/xml, */*”。這是因為Ajax默認獲取服務器返回的Json數據模式。

在Ajax代碼中,可以使用XMLHttpRequest 對象中setRequestHeader函數方法來動態設置這些Header信息。

 

5Accept-Language

說明:

    指定HTTP客戶端瀏覽器用來展示返回信息所優先選擇的語言。

實例:

Accept-Language: zh-cn,zh;q=0.5

         這里默認為中文。

 

6Accept-Encoding

說明:

         指定客戶端瀏覽器可以支持的web服務器返回內容壓縮編碼類型。表示允許服務器在將輸出內容發送到客戶端以前進行壓縮,以節約帶寬。而這里設置的就是客戶端瀏覽器所能夠支持的返回壓縮格式。

實例:

         Accept-Encoding: gzip,deflate

備注:

其實在百度很多產品線中,apache在給客戶端返回頁面數據之前,將數據以gzip格式進行壓縮。

另外有關deflate壓縮介紹:

http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_deflate.html

 

7Accept-Charset

說明:

         瀏覽器可以接受的字符編碼集。

實例:

         Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7

 

8Content-Type

說明:

顯示此HTTP請求提交的內容類型。一般只有post提交時才需要設置該屬性。

實例:

         Content-type: application/x-www-form-urlencoded;charset:UTF-8

有關Content-Type屬性值可以如下兩種編碼類型:

(1)“application/x-www-form-urlencoded”: 表單數據向服務器提交時所采用的編碼類型,默認的缺省值就是“application/x-www-form-urlencoded”。 然而,在向服務器發送大量的文本、包含非ASCII字符的文本或二進制數據時這種編碼方式效率很低。

(2)“multipart/form-data”: 在文件上載時,所使用的編碼類型應當是“multipart/form-data”,它既可以發送文本數據,也支持二進制數據上載。

當提交為單單數據時,可以使用“application/x-www-form-urlencoded”;當提交的是文件時,就需要使用“multipart/form-data”編碼類型。

在Content-Type屬性當中還是指定提交內容的charset字符編碼。一般不進行設置,它只是告訴web服務器post提交的數據采用的何種字符編碼。

         一般在開發過程,是由前端工程與后端UI工程師商量好使用什么字符編碼格式來post提交的,然后后端ui工程師按照固定的字符編碼來解析提交的數據。所以這里設置的charset沒有多大作用。

 

9Connection

說明:

表示是否需要持久連接。如果web服務器端看到這里的值為“Keep-Alive”,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久連接),它就可以利用持久連接的優點,當頁面包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。要實現這一點, web服務器需要在返回給客戶端HTTP頭信息中發送一個Content-Length(返回信息正文的長度)頭,最簡單的實現方法是:先把內容寫入ByteArrayOutputStream,然 后在正式寫出內容之前計算它的大小。

 

實例:

Connection: keep-alive

 

10Keep-Alive

說明:

         顯示此HTTP連接的Keep-Alive時間。使客戶端到服務器端的連接持續有效,當出現對服務器的后繼請求時,Keep-Alive功能避免了建立或者重新建立連接。

         以前HTTP請求是一站式連接,從HTTP/1.1協議之后,就有了長連接,即在規定的Keep-Alive時間內,連接是不會斷開的。

 

實例:

Keep-Alive: 300

 

11cookie

說明:

         HTTP請求發送時,會把保存在該請求域名下的所有cookie值一起發送給web服務器。

 

12Referer

說明:

包含一個URL,用戶從該URL代表的頁面出發訪問當前請求的頁面

 

 

·服務器端返回HTTP頭部信息

 

1Content-Length

說明:

         表示web服務器返回消息正文的長度

 

2Content-Type:

說明:

         返回數據的類型(例如text/html文本類型)和字符編碼格式。

 

實例:

Content-Type: text/html;charset=utf-8

 

3Date

說明:

         顯示當前的時間

 

 

4、Server

 

說明: 服務器類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM