亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
Guides Access control CORS Authentication Browser detection using the user agent Caching Caching FAQ Compression Conditional requests Connection management in HTTP 1.x Content negotiation Content negotiation: List of default Accept values Cookies CSP Messages Overview Protocol upgrade mechanism Proxy servers and tunneling Proxy servers and tunneling: Proxy Auto-Configuration (PAC) file Public Key Pinning Range requests Redirections Resources and specifications Resources and URIs Response codes Server-Side Access Control Session Guides: Basics Basics of HTTP Choosing between www and non-www URLs Data URIs Evolution of HTTP Identifying resources on the Web MIME Types MIME types: Complete list of MIME types CSP Content-Security-Policy Content-Security-Policy-Report-Only CSP: base-uri CSP: block-all-mixed-content CSP: child-src CSP: connect-src CSP: default-src CSP: font-src CSP: form-action CSP: frame-ancestors CSP: frame-src CSP: img-src CSP: manifest-src CSP: media-src CSP: object-src CSP: plugin-types CSP: referrer CSP: report-uri CSP: require-sri-for CSP: sandbox CSP: script-src CSP: style-src CSP: upgrade-insecure-requests CSP: worker-src Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Access-Control-Allow-Credentials Access-Control-Allow-Headers Access-Control-Allow-Methods Access-Control-Allow-Origin Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Request-Headers Access-Control-Request-Method Age Allow Authorization Cache-Control Connection Content-Disposition Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type Cookie Cookie2 Date DNT ETag Expect Expires Forwarded From Headers Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Keep-Alive Large-Allocation Last-Modified Location Origin Pragma Proxy-Authenticate Proxy-Authorization Public-Key-Pins Public-Key-Pins-Report-Only Range Referer Referrer-Policy Retry-After Server Set-Cookie Set-Cookie2 SourceMap Strict-Transport-Security TE Tk Trailer Transfer-Encoding Upgrade-Insecure-Requests User-Agent User-Agent: Firefox Vary Via Warning WWW-Authenticate X-Content-Type-Options X-DNS-Prefetch-Control X-Forwarded-For X-Forwarded-Host X-Forwarded-Proto X-Frame-Options X-XSS-Protection Methods CONNECT DELETE GET HEAD Methods OPTIONS PATCH POST PUT Status 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 451 Unavailable For Legal Reasons 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 511 Network Authentication Required Status
文字

HTTP消息是數(shù)據(jù)在服務(wù)器和客戶端之間交換的方式。有兩種類型的消息:請求客戶端發(fā)送到觸發(fā)服務(wù)器上的動作,并且響應(yīng),從服務(wù)器的答案。

HTTP消息由以ASCII編碼的文本信息組成,并跨越多行。在HTTP / 1.1及其早期版本的協(xié)議中,這些消息是通過連接公開發(fā)送的。在HTTP / 2中,曾經(jīng)人類可讀的消息現(xiàn)在被劃分為HTTP幀,從而提供優(yōu)化和性能改進(jìn)。

Web開發(fā)人員或網(wǎng)站管理員很少制作這些文本HTTP消息:軟件,Web瀏覽器,代理或Web服務(wù)器,執(zhí)行此操作。他們通過配置文件(代理或服務(wù)器),API(瀏覽器)或其他接口提供HTTP消息。

HTTP / 2二進(jìn)制組幀機(jī)制被設(shè)計為不需要對應(yīng)用的API或配置文件進(jìn)行任何修改:它對用戶來說是廣泛透明的。

HTTP請求和響應(yīng)共享相似的結(jié)構(gòu)并由以下部分組成:

  1. 一個起始行描述的要求來實(shí)現(xiàn),或者它無論成功或失敗的狀態(tài)。這條起始線總是一條線。

  2. 一組可選的HTTP標(biāo)頭,用于指定請求或描述消息中包含的主體。

  3. 表示請求的所有元信息的空白行已經(jīng)發(fā)送。

  4. 包含與請求相關(guān)的數(shù)據(jù)的可選主體(如HTML表單的內(nèi)容)或與響應(yīng)關(guān)聯(lián)的文檔。主體和其大小的存在由開始行和HTTP標(biāo)頭指定。

HTTP消息的起始行和HTTP標(biāo)頭統(tǒng)稱為請求,而其有效負(fù)載稱為主體。

HTTP請求

開始行

HTTP請求是客戶端發(fā)送的消息,以在服務(wù)器上啟動一個操作。他們的起點(diǎn)包含三個要素:

1.一個HTTP方法,動詞(例如GET,PUTPOST),或者名詞(像HEADOPTIONS要被執(zhí)行),描述動作。例如,GET表示應(yīng)該提取資源或者POST意味著數(shù)據(jù)被推送到服務(wù)器(創(chuàng)建或修改資源或生成臨時文檔以發(fā)回)。

2.所述請求對象,通常是一個URL,或協(xié)議,端口和域的絕對路徑通常特征在于請求上下文。這個請求目標(biāo)的格式因不同的HTTP方法而異。有可能

  • 絕對路徑,最后是一個'?'查詢字符串。這是最常見的形式,被稱為起源形式,并用于與GET,POSTHEAD,和OPTIONS方法。 POST / HTTP 1.1 GET /background.png HTTP/1.0 HEAD /test.html?query=alibaba HTTP/1.1 OPTIONS /anypage.html HTTP/1.0

  • 當(dāng)連接到代理服務(wù)器時,完整的URL稱為絕對表單,主要用于GET。 GET http://developer.mozilla.org/en-US/docs/Web/HTTP/Messages HTTP/1.1

  • URL的權(quán)威組成部分由域名和可選的端口(前綴為a ':')組成,稱為權(quán)威表單。它僅CONNECT在設(shè)置HTTP隧道時使用。 CONNECT developer.mozilla.org:80 HTTP/1.1

  • 星號形式,一個簡單的星號('*')用于OPTIONS表示該服務(wù)器作為一個整體。 OPTIONS * HTTP/1.1

   3.HTTP版本,它定義了剩余的消息的結(jié)構(gòu),充當(dāng)?shù)念A(yù)期版本的指示符以用于響應(yīng)。

報頭

來自請求的HTTP標(biāo)頭遵循HTTP標(biāo)頭的相同基本結(jié)構(gòu):不區(qū)分大小寫的字符串,后跟冒號(':')和結(jié)構(gòu)取決于標(biāo)頭的值。包括該值在內(nèi)的整個標(biāo)題由一條單獨(dú)的行組成,該行可能相當(dāng)長。

有許多請求頭可用。他們可以分成幾組:

  • 一般標(biāo)題,如Via整個應(yīng)用于郵件。

  • 請求標(biāo)頭,比如User-Agent,通過給定上下文(比如)或者通過有條件地限制它(比如)Accept-Type來進(jìn)一步指定它(比如Accept-Language)來修改請求。RefererIf-None

  • 實(shí)體標(biāo)題,如Content-Length適用于請求的主體。顯然,如果請求中沒有主體,則不會傳輸此頭。

主體

請求的最后部分是它的主體。并非所有的請求有一個:獲取資源,如請求GETHEAD,DELETE,或選項,通常不需要一個。有些請求會將數(shù)據(jù)發(fā)送到服務(wù)器以更新它:與POST請求(包含HTML表單數(shù)據(jù))的情況相同。

主體大致可以分為兩類:

  • 單資源主體,由一個單一文件組成,由兩個標(biāo)頭定義:Content-TypeContent-Length。

  • 多資源主體,由多部分主體組成,每個主體包含不同位的信息。這通常與HTML表單相關(guān)聯(lián)。

HTTP響應(yīng)

狀態(tài)行

HTTP響應(yīng)的起始行(稱為狀態(tài)行)包含以下信息:

  1. 協(xié)議版本:通常為HTTP/1.1。

  2. 狀態(tài)碼:指示請求的成功或失敗。常見的狀態(tài)代碼為200,404302

  3. 一個狀態(tài)文本:簡要的,純粹的信息性的狀態(tài)代碼的文本描述,以幫助人們理解HTTP消息。

典型的狀態(tài)行如下所示: HTTP/1.1 404 Not Found.

報頭

響應(yīng)的HTTP頭與其他報頭的結(jié)構(gòu)相同:不區(qū)分大小寫的字符串,后跟冒號(':')和結(jié)構(gòu)取決于頭部類型的值。包括其價值在內(nèi)的整個表頭呈現(xiàn)為一條線。

有許多響應(yīng)頭可用。這些可以分成幾個組:

  • 一般報頭,如Via適用于整個消息。

  • 響應(yīng)報頭,VaryAccept-Ranges提供有關(guān)不適合狀態(tài)行的服務(wù)器的其他信息。

  • 實(shí)體報頭,如Content-Length適用于請求的主體。當(dāng)請求中沒有主體時顯然不會傳輸這樣的頭文件。

主體

答復(fù)的最后部分是主體。并不是所有的答復(fù)都是:有狀態(tài)代碼的答復(fù),就像201204通常不會。

主體大致可以分為三類:

  • 單一資源主體,由一個已知長度的單個文件組成,由兩個標(biāo)頭定義:Content-TypeContent-Length

  • 單一資源主體,由一個長度未知的單個文件組成,由塊Transfer-Encoding設(shè)置為chunked。

  • 多資源主體,由多部分主體組成,每個主體包含不同的信息部分。這些比較少見。

HTTP / 2幀

HTTP / 1.x消息在性能方面有一些缺點(diǎn):

  • 與主體不同,標(biāo)題是未壓縮的。

  • 從一條消息到另一條消息,標(biāo)題通常非常相似,但仍然在連接中重復(fù)。

  • 不能多路復(fù)用。多個連接需要在同一臺服務(wù)器上打開:熱TCP連接比冷連接更有效。

HTTP / 2引入了一個額外的步驟:它將HTTP / 1.x消息分成嵌入流中的幀。數(shù)據(jù)和標(biāo)題幀是分開的,這允許標(biāo)題壓縮。多個流可以組合在一起,這個過程稱為多路復(fù)用,允許更高效的底層TCP連接。

HTTP框架現(xiàn)在對Web開發(fā)人員是透明的。這是HTTP / 2中HTTP / 1.1消息和底層傳輸協(xié)議之間的附加步驟。Web開發(fā)人員使用HTTP幀所使用的API不需要進(jìn)行任何更改; 當(dāng)瀏覽器和服務(wù)器都可用時,HTTP / 2將打開并使用。

結(jié)論

HTTP消息是使用HTTP的關(guān)鍵; 它們的結(jié)構(gòu)很簡單,而且它們具有高度的可擴(kuò)展性。HTTP / 2成幀機(jī)制在HTTP / 1.x語法和底層傳輸協(xié)議之間添加了一個新的中間層,而不需要從根本上對其進(jìn)行修改:基于成熟的機(jī)制。

上一篇: 下一篇: