e621小馬 e621( 四 )


比如,如果瀏覽器不支持 PNG 圖片的顯示,那 Accept 就不指定image/png,而指定可處理的 image/gif 和 image/jpeg 等圖片類型 。
一般 MIME 類型也會和 q 這個屬性一起使用,q 是什么?q 表示的是權重,來看一個例子
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8復制代碼若想要給顯示的媒體類型增加優先級,則使用 q= 來額外表示權重值,沒有顯示權重的時候默認值是1.0 。
q
MIME
1.0
text/html
1.0
application/xhtml+xml
0.9
application/xml
0.8
* / *
Accept-Charset
accept-charset 屬性規定服務器處理表單數據所接受的字符集 。
accept-charset 屬性允許您指定一系列字符集,服務器必須支持這些字符集,從而得以正確解釋表單中的數據 。
Accept-Language
首部字段 Accept-Language 用來告知服務器用戶 *** 能夠處理的自然語言集(指中文或英文等),以及自然語言集的相對優先級 。
Accept-Language: en-US,en;q=0.5復制代碼響應標頭響應標頭是可以在 HTTP 響應中使用的 HTTP 標頭 。并不是所有出現在響應中的標頭都是響應標頭 。還有一些特殊的我們上面說過,有通用標頭和實體標頭也會出現在響應標頭中,比如 Content-Length 就是一個實體標頭,但是,在這種情況下,這些實體請求通常稱為響應頭 。下面以一個例子為例和你探討一下響應頭
200 OKAccess-Control-Allow-Origin: *Connection: Keep-AliveContent-Encoding: gzipContent-Type: text/html; charset=utf-8Date: Mon, 18 Jul 2016 16:06:00 GMTEtag: "c561c68d0ba92bbeb8b0f612a9199f722e3a621a"Keep-Alive: timeout=5, max=997Last-Modified: Mon, 18 Jul 2016 02:36:04 GMTServer: ApacheSet-Cookie: mykey=myvalue; expires=Mon, 17-Jul-2017 16:06:00 GMT; Max-Age=31449600; Path=/; secureTransfer-Encoding: chunkedVary: Cookie, Accept-Encodingx-frame-options: DENY復制代碼響應狀態碼
以 2xx 為開頭的都表示請求成功響應 。
狀態碼
含義
200
成功響應
204
請求處理成功,但是沒有資源可以返回
206
對資源某一部分進行響應,由Content-Range 指定范圍的實體內容 。
以 3xx 為開頭的都表示需要進行附加操作以完成請求
狀態碼
含義
301
永久性重定向,該狀態碼表示請求的資源已經重新分配 URI,以后應該使用資源現有的 URI
302
臨時性重定向 。該狀態碼表示請求的資源已被分配了新的 URI,希望用戶(本次)能使用新的 URI 訪問 。
303
該狀態碼表示由于請求對應的資源存在著另一個 URI,應使用 GET*** 定向獲取請求的資源 。
304
該狀態碼表示客戶端發送附帶條件的請求時,服務器端允許請求訪問資源,但未滿足條件的情況 。
307
臨時重定向 。該狀態碼與 302 Found 有著相同的含義 。
以 4xx 的響應結果表明客戶端是發生錯誤的原因所在 。
狀態碼
含義
400
該狀態碼表示請求報文中存在語法錯誤 。當錯誤發生時,需修改請求的內容后再次發送請求 。
401
該狀態碼表示發送的請求需要有通過 HTTP 認證(BASIC 認證、DIGEST 認證)的認證信息 。
403
該狀態碼表明對請求資源的訪問被服務器拒絕了 。
404
該狀態碼表明服務器上無法找到請求的資源 。
以 5xx 為開頭的響應標頭都表示服務器本身發生錯誤
狀態碼
含義
500
該狀態碼表明服務器端在執行請求時發生了錯誤 。
503
該狀態碼表明服務器暫時處于超負載或正在進行停機維護,現在無法處理請求 。
HTTP協議優缺點HTTP 的優點簡單靈活易擴展HTTP 的協議比較簡單,它的主要組成就是 header + body,頭部信息也是簡單的文本格式
HTTP 協議又多了靈活 和 易擴展 的優點 。
HTTP 協議里的請求 *** 、URI、狀態碼、原因短語、頭字段等每一個核心組成要素都沒有被制定死,允許開發者任意定制、擴充或解釋,給予了瀏覽器和服務器更大程度的信任和自由 。
應用廣泛、環境成熟天然具有跨語言、跨平臺的優越性,而且,因為本身的簡單特性很容易實現,所以幾乎所有的編程語言都有 HTTP 調用庫和外圍的開發測試工具
無狀態既是優點又是缺點 。因為服務器沒有記憶能力,所以就不需要額外的資源來記錄狀態信息,不僅實現上會簡單一些,而且還能減輕服務器的負擔,能夠把更多的 CPU 和內存用來對外提供服務 。
HTTP 的缺點無狀態服務器沒有記憶能力,它就無法支持需要連續多個步驟的事務操作 。每次都得問一遍身份信息,需要增加了不必要的數據傳輸量 。由此出現了 Cookie 技術 。

推薦閱讀