這是我參與8月更文挑戰的第1天,活動詳情查看:8月更文挑戰html
方式 | 場景 |
---|---|
GET | 向Web服務器請求一個文件 |
POST | 向Web服務器發送數據讓Web服務器進行處理 |
PUT | 向Web服務器發送數據並存儲在Web服務器內部 |
HEAD | 檢查一個對象是否存在 |
DELETE | 從Web服務器上刪除一個文件 |
CONNECT | 對通道提供支持 |
TRACE | 跟蹤到服務器的路徑 |
OPTIONS | 查詢Web服務器的性能 |
指明瞭請求將要發送到的服務器主機名和端口號web
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: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5安全
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
複製代碼
請求頭用來告知(服務器)客戶端能夠處理的字符集類型。 藉助內容協商機制,服務器能夠從諸多備選項中選擇一項進行應用, 並使用Content-Type
應答頭通知客戶端它的選擇。瀏覽器一般不會設置此項值,由於每種內容類型的默認值一般都是正確的,可是發送它會更有利於識別。
實例:
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
用於指示資源的MIME類型 media type
在響應中,Content-Type標頭告訴客戶端實際返回的內容的內容類型。瀏覽器會在某些狀況下進行MIME查找,並不必定遵循此標題的值;
通常只有post提交時才須要設置該屬性
實例:
Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something
複製代碼
常見的三種編碼方式:
1.1: 最多見的POST提交數據方式。
1.2:原生form默認的提交方式(可使用enctype指定提交數據類型)。
1.3:在向服務器發送大量的文本、包含非ASCII字符的文本或二進制數據時這種編碼方式效率很低
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中發送。
使用表單上傳文件時,必須指定表單的 enctype屬性值爲 multipart/form-data. 請求體被分割成多部分,每部分使用 --boundary分割;
在http請求中,ContentType都是默認的值 application/x-www-form-urlencoded, 這種編碼格式的特色是:name/value值對,
每組之間使用&鏈接,而name與value之間是使用 = 鏈接,好比 key=xxx&name=111&password=123456; 鍵值對通常的狀況下是沒有什麼問題的,可是若是參數是複雜的對象,繼續用這種編碼形式就不太合適,這個時候,用application/json將數據經過json的形式發送給服務器就比較合適,json的形式的優勢是它能夠傳遞結構複雜的數據形式
表示是否須要持久鏈接,http1.1默認爲持久鏈接
實例:
Connection: keep-alive
顯示此HTTP鏈接的Keep-Alive時間。使客戶端到服務器端的鏈接持續有效,當出現對服務器的後繼請求時,Keep-Alive功能避免了創建或者從新創建鏈接。
之前HTTP請求是一站式鏈接,從HTTP/1.1協議以後,就有了長鏈接,即在規定的Keep-Alive時間內,鏈接是不會斷開的。
實例:
Keep-Alive: 300
HTTP請求發送時,會把保存在該請求域名下的全部cookie值一塊兒發送給web服務器。
HTTP Referer是[header]的一部分,當[瀏覽器]向web[服務器]發送請求的時候,通常會帶上Referer,告訴服務器該網頁是從哪一個頁面連接過來的,服務器所以能夠得到一些信息用於處理
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報頭一塊兒使用,用於判斷頁面是否已經被修改,是否須要返回 |