HTTP headers

這是我參與8月更文挑戰的第1天,活動詳情查看:8月更文挑戰html

請求方式

方式 場景
GET 向Web服務器請求一個文件
POST 向Web服務器發送數據讓Web服務器進行處理
PUT 向Web服務器發送數據並存儲在Web服務器內部
HEAD 檢查一個對象是否存在
DELETE 從Web服務器上刪除一個文件
CONNECT 對通道提供支持
TRACE 跟蹤到服務器的路徑
OPTIONS 查詢Web服務器的性能

Host

指明瞭請求將要發送到的服務器主機名和端口號web

User-Agent

User-Agent中文名爲用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器可以識別客戶使用的操做系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。一些網站經常經過判斷 UA 來給不一樣的操做系統、不一樣的瀏覽器發送不一樣的頁面,所以可能形成某些頁面沒法在某個瀏覽器中正常顯示,但經過假裝 UA 能夠繞過檢測。chrome

操做系統標識: FreeBSD  json

X11; FreeBSD (version no.) i386  X11; FreeBSD (version no.) AMD64  


Linux  


X11; Linux ppc  X11; Linux ppc64  X11; Linux i686  X11; Linux x86_64  


Mac


Macintosh; PPC Mac OS X  Macintosh; Intel Mac OS X  


Solaris  


X11; SunOS i86pc  X11; SunOS sun4u  


Windows:  


Windows NT 6.1 對應操做系統 windows 7  Windows NT 6.0 對應操做系統 windows vista  Windows NT 5.2 對應操做系統 windows 2003  Windows NT 5.1 對應操做系統 windows xp  Windows NT 5.0 對應操做系統 windows 2000  Windows ME   Windows 98


加密等級標識


N: 表示無安全加密  I: 表示弱安全加密  U: 表示強安全加密
複製代碼

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

Accept

指定客戶端可以接收的內容類型,內容類型中的前後次序表示客戶端接收的前後次序。瀏覽器

例如:緩存

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

Accept-Language

Accept-Language 請求頭容許客戶端聲明它能夠理解的天然語言,以及優先選擇的區域方言。藉助內容協商機制,服務器能夠從諸多備選項中選擇一項進行應用, 並使用 Content-Language 應答頭通知客戶端它的選擇。服務器

*:任意語言;"*" 表示通配符(wildcard)markdown

;q= (q-factor weighting): 此值表明優先順序,用相對質量價值表示,又稱爲權重

示例:

Accept-Language: de


Accept-Language: de-CH


Accept-Language: en-US,en;q=0.5


Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
複製代碼

Accept-Charset

請求頭用來告知(服務器)客戶端能夠處理的字符集類型。 藉助內容協商機制,服務器能夠從諸多備選項中選擇一項進行應用, 並使用Content-Type 應答頭通知客戶端它的選擇。瀏覽器一般不會設置此項值,由於每種內容類型的默認值一般都是正確的,可是發送它會更有利於識別。

實例:

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

Content-Type

用於指示資源的MIME類型 media type

在響應中,Content-Type標頭告訴客戶端實際返回的內容的內容類型。瀏覽器會在某些狀況下進行MIME查找,並不必定遵循此標題的值;

通常只有post提交時才須要設置該屬性

實例:

Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something
複製代碼

常見的三種編碼方式:

1.application/x-www-form-urlencoded

1.1: 最多見的POST提交數據方式。
1.2:原生form默認的提交方式(可使用enctype指定提交數據類型)。
1.3:在向服務器發送大量的文本、包含非ASCII字符的文本或二進制數據時這種編碼方式效率很低

image.png

application/x-www-form-urlencoded 是最經常使用的一種請求編碼方式,支持GET/POST等方法,全部數據變成鍵值對的形式 key1=value1&key2=value2的形式,而且特殊字符須要轉義成utf-8編號,如空格會變成 %20;

默認的提交方式是 application/x-www-form-urlencoded 編碼提交數據的,在chrome的network面板下,默認的請求體是被解析的。展現成formData的形式;

如上默認提交的 contentType爲 application/x-www-form-urlencoded,此時提交的數據將會格式化成:
fname=kongzhi&age=30;

若是請求類型type是GET的話,那麼格式化的字符串將直接拼接在url後發送到服務端; 若是請求類型是POST, 那麼格式化的字符串將放在http body的Form Data中發送。

2.multipart/form-data

使用表單上傳文件時,必須指定表單的 enctype屬性值爲 multipart/form-data. 請求體被分割成多部分,每部分使用 --boundary分割;

image.png

3.application/json

在http請求中,ContentType都是默認的值 application/x-www-form-urlencoded, 這種編碼格式的特色是:name/value值對,
每組之間使用&鏈接,而name與value之間是使用 = 鏈接,好比 key=xxx&name=111&password=123456; 鍵值對通常的狀況下是沒有什麼問題的,可是若是參數是複雜的對象,繼續用這種編碼形式就不太合適,這個時候,用application/json將數據經過json的形式發送給服務器就比較合適,json的形式的優勢是它能夠傳遞結構複雜的數據形式

image.png

Connection

表示是否須要持久鏈接,http1.1默認爲持久鏈接

實例:

Connection: keep-alive

Keep-Alive

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

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

實例:

Keep-Alive: 300

cookie

HTTP請求發送時,會把保存在該請求域名下的全部cookie值一塊兒發送給web服務器。

Referer

HTTP Referer是[header]的一部分,當[瀏覽器]向web[服務器]發送請求的時候,通常會帶上Referer,告訴服務器該網頁是從哪一個頁面連接過來的,服務器所以能夠得到一些信息用於處理

Responses 部分

Header 解釋 示例
Accept-Ranges 代表服務器是否支持指定範圍請求及哪一種類型的分段請求 Accept-Ranges: bytes
Age 從原始服務器到代理緩存造成的估算時間(以秒計,非負) Age: 12
Allow 對某網絡資源的有效的請求行爲,不容許則返回405 Allow: GET, HEAD
Cache-Control 告訴全部的緩存機制是否能夠緩存及哪一種類型 Cache-Control: no-cache(不緩存)
Content-Encoding web服務器支持的返回內容壓縮編碼類型 Content-Encoding: gzip
Content-Language 響應體的語言 Content-Language: en,zh
Content-Length 響應體的長度 Content-Length: 348
Content-Location 請求資源可替代的備用的另外一地址 Content-Location: /index.htm
Content-MD5 返回資源的MD5校驗值 Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Range 在整個返回體中本部分的字節位置 Content-Range: bytes 21010-47021/47022
Content-Type 返回內容的MIME類型 Content-Type: text/html; charset=utf-8
Date 原始服務器消息發出的時間 Date: Tue, 15 Nov 2010 08:12:31 GMT
ETag 請求變量的實體標籤的當前值 (Last-Modified和ETags請求的http報頭一塊兒使用,用於判斷頁面是否已經被修改,是否須要返回
相關文章
相關標籤/搜索