亚洲国产日韩欧美一区二区三区,精品亚洲国产成人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
文字

MIME 類型的機理是告訴客戶端傳輸?shù)母鞣N文件:文件名的擴展具有在網(wǎng)絡(luò)上沒有任何意義。因此,正確設(shè)置服務(wù)器非常重要,以便在每個文檔中傳輸正確的MIME類型。瀏覽器通常使用 MIME 類型來確定在獲取資源時要執(zhí)行的默認操作。

文檔種類很多,所以有很多種 MIME 類型。在本文中,我們將列出 Web 開發(fā)最重要的內(nèi)容,但您可以在此專用文章中找到適用于文檔類型的內(nèi)容:完整的 MIME 類型列表。

MIME 類型不是傳達文檔類型信息的唯一方式:

  • 有時會使用名稱后綴,特別是在 Microsoft Windows 系統(tǒng)上。并非所有操作系統(tǒng)都認為這些后綴有意義(特別是 Linux 和 Mac OS),并且像外部 MIME 類型一樣,不能保證它們是正確的。

  • 魔術(shù)數(shù)字(Magic numbers)。不同類型的文件的語法通過查看結(jié)構(gòu)允許文件類型推斷。例如,每個 GIF 文件以47 49 46 38十六進制值 GIF89或帶有89 50 4E 47。PNG 的 PNG 文件開頭。并非所有類型的文件都有幻數(shù),所以這也不是100%可靠的系統(tǒng)。

在 Web 上,只有 MIME 類型是相關(guān)的,應(yīng)該仔細設(shè)置。瀏覽器和服務(wù)器通常使用基于后綴或幻數(shù)的啟發(fā)式方法來定義MIME類型,檢查一致性,或僅在提供通用類型時查找正確的 MIME 類型。

語法

一般結(jié)構(gòu)

type/subtype

MIME 類型的結(jié)構(gòu)非常簡單; 它由一個類型和一個子類型組成,兩個字符串由'/'分隔。沒有空間是允許的。該類型代表類別,可以是離散類型或多部分類型。該亞型是特定于每個類型。

MIME 類型不區(qū)分大小寫,但傳統(tǒng)上全部以小寫形式。

離散類型

text/plain
text/html
image/jpeg
image/png
audio/mpeg
audio/ogg
audio/*
video/mp4
application/octet-stream
…

離散類型表示文檔的類別,它可以是以下之一:

類型

描述

典型的亞型的例子

文本

代表任何包含文本且理論上可讀的文檔

text / plain,text / html,text / css,text / javascript

圖片

代表任何類型的圖像。不包括視頻,雖然動畫圖像(如動畫GIF)用圖像類型描述。

圖像/ gif,圖像/ png,圖像/ jpeg,圖像/ bmp,圖像/ webp

音頻

代表任何類型的音頻文件

音頻/ midi,音頻/ mpeg,音頻/ webm,音頻/ ogg,音頻/ wav

視頻

代表任何類型的視頻文件

視頻/ webm,視頻/ ogg

應(yīng)用

代表任何種類的二進制數(shù)據(jù)。

application / octet-stream,application / pkcs12,application / vnd.mspowerpoint,application / xhtml + xml,application / xml,application / pdf

對于沒有特定子類型的文本文檔,text/plain應(yīng)該使用。同樣,application/octet-stream應(yīng)該使用沒有特定或已知子類型的二進制文檔。

多部分類型

multipart/form-data
multipart/byteranges

多部分類型表示文檔類別在不同部分中被破壞,通常具有不同的 MIME 類型。這是表示復合文檔的一種方式。除了multipart/form-data用于 HTML 表單POST方法的關(guān)聯(lián),并且multipart/byteranges206 Partial Content狀態(tài)消息一起使用以僅發(fā)送整個文檔的子集之外,HTTP 不以特定方式處理多部分文檔:消息是簡單地傳輸?shù)綖g覽器(這可能會提出一個另存為窗口,不知道如何內(nèi)聯(lián)顯示文檔。)

Web 開發(fā)人員的重要 MIME 類型

application/octet-stream

這是二進制文件的默認值。由于它確實意味著未知的二進制   文件,因此瀏覽器通常不會自動執(zhí)行它,甚至不會詢問是否應(yīng)該執(zhí)行它。他們把它看作Content-Disposition是用值設(shè)置標題attachment并提出一個“另存為”文件。

text/plain

這是文本文件的默認值。即使它確實意味著未知的文本文件,瀏覽器也會假定它們可以顯示它。

請注意,text/plain這并不意味著任何類型的文本數(shù)據(jù)。如果他們期望獲得特定類型的文本數(shù)據(jù),他們可能不會認為它是匹配的。特別是如果他們text/plain從一個<link>聲明一個 CSS 文件的元素下載文件,他們將不會將其識別為有效的 CSS 文件(如果提供的話)text/plain。text/css必須使用 CSS MIME 類型。

text/css

任何必須在 Web 頁面中解釋的 CSS 文件都必須是這些text/css文件。通常,服務(wù)器無法識別帶有.css后綴的文件作為 CSS 文件,而是使用text/plainapplication/octet-streamMIME 類型發(fā)送它們:在這些情況下,它們不會被大多數(shù)瀏覽器識別為 CSS 文件,并且將被忽略。必須特別注意以正確的類型提供CSS文件。

text/html

所有的 HTML 內(nèi)容都應(yīng)該使用這種類型。XHTML 的替代 MIME 類型(如application/xml+html)現(xiàn)在大多無用(HTML5 統(tǒng)一了這些格式))。

圖像類型

只有少數(shù)幾種圖像類型被廣泛認可,并被認為是 Web 安全的,可以在網(wǎng)頁中使用:

MIME類型

圖像類型

圖像/ GIF

GIF 圖像(無損壓縮,由 PNG 取代)

圖像/ JPEG

JPEG 圖像

圖像/ PNG

PNG 圖像

圖像/ SVG + xml的

SVG 圖像(矢量圖像)

有一個關(guān)于將 WebP(image/webp)添加到此列表的討論,但是由于每種新的圖像類型都會增加代碼庫的大小,這可能會引入新的安全問題,因此瀏覽器供應(yīng)商在接受它時非常謹慎。

其他類型的圖像可以在 Web 文檔中找到。例如,許多瀏覽器支持 favicon 或類似的圖標圖像類型。特別是,ICO 圖像在image/x-iconMIME 類型的上下文中得到支持。

音頻和視頻類型

與圖像類似,HTML 并未定義一組支持的類型以<audio><video>元素一起使用,因此只能在Web上使用相對較小的一組類型。HTML音頻和視頻元素支持的媒體格式解釋了可以使用的編解碼器和容器格式。

這種文件的 MIME 類型主要表示容器格式,Web 上下文中最常用的格式是:

MIME類型

音頻或視頻類型

音頻/波形音頻/ wav音頻/ x-wav音頻/ x-pn-wav

WAVE 容器格式的音頻文件。PCM 音頻編解碼器(WAVE 編解碼器“1”)通常受支持,但其他編解碼器的支持更有限(如果有)。

音頻/ WEBM

WebM 容器格式的音頻文件。Vorbis 和 Opus 是最常見的音頻編解碼器。

視頻/ WEBM

可能帶有音頻的視頻文件,采用 WebM 容器格式。VP8 和 VP9 是其中最常用的視頻編解碼器; Vorbis 和 Opus 是最常見的音頻編解碼器。

音頻/ OGG

OGG 容器格式的音頻文件。Vorbis 是這種容器中最常用的音頻編解碼器。

視頻/ OGG

OGG 容器格式的視頻文件,可能帶有音頻。Theora 是其中使用的通常的視頻編解碼器; Vorbis 是通常的音頻編解碼器。

應(yīng)用程序/ OGG

使用 OGG 容器格式的音頻或視頻文件。Theora 是其中使用的通常的視頻編解碼器; Vorbis 是通常的音頻編解碼器。

multipart/form-data

multipart/form-data完整的 HTML 表單的內(nèi)容從瀏覽器發(fā)送到服務(wù)器時,可以使用該類型。作為正式的多部分文檔,它由不同部分組成,由邊界(以雙短劃線開始的字符串)分隔'--'。每個部分本身就是一個實體,具有自己的HTTP頭部,Content-Disposition并且Content-Type用于文件上傳字段,而最常見的部分(Content-Length由于邊界線用作分隔符而被忽略)。

Content-Type: multipart/form-data; boundary=aBoundaryString(other headers associated with the multipart document as a whole)--aBoundaryString
Content-Disposition: form-data; name="myFile"; filename="img.jpg"Content-Type: image/jpeg(data)--aBoundaryString
Content-Disposition: form-data; name="myField"(data)--aBoundaryString(more subparts)--aBoundaryString--

以下形式:

<form action="http://localhost:8000/" method="post" enctype="multipart/form-data">  <input type="text" name="myTextField">  <input type="checkbox" name="myCheckBox">Check</input>  <input type="file" name="myFile">  <button>Send the file</button></form>

將發(fā)送此消息:

POST / HTTP/1.1Host: localhost:8000User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=---------------------------8721656041911415653955004498
Content-Length: 465

-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myTextField"

Test
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myCheckBox"

on
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myFile"; filename="test.txt"
Content-Type: text/plain

Simple file.
-----------------------------8721656041911415653955004498--

multipart/byteranges

multipart/byterangesMIME 類型在發(fā)送部分響應(yīng)返回給瀏覽器的上下文中使用。當206 Partial Content被發(fā)送的狀態(tài)碼,此 MIME 類型用于指示該文件是由幾個部分組成,一個用于每個所請求的范圍的。像其他多部分類型一樣,Content-Type使用該boundary指令來定義邊界字符串。每個不同的部分都有一個Content-Type標題,其中包含文檔的實際類型以及Content-Range它們所代表的范圍。

HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Type: multipart/byteranges; boundary=3d6b6a416f9b5
Content-Length: 385--3d6b6a416f9b5
Content-Type: text/html
Content-Range: bytes 100-200/1270eta http-equiv="Content-type" content="text/html; charset=utf-8" />    <meta name="vieport" content--3d6b6a416f9b5
Content-Type: text/html
Content-Range: bytes 300-400/1270-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: "Open Sans", "Helvetica--3d6b6a416f9b5--

設(shè)置正確的 MIME 類型的重要性

大多數(shù) Web 服務(wù)器使用默認的application/octet-streamMIME 類型發(fā)送未知類型的資源。出于安全原因,大多數(shù)瀏覽器不允許為這些資源設(shè)置自定義默認操作,強制用戶將其存儲到磁盤以使用它。以下文件類型會出現(xiàn)一些常見的錯誤服務(wù)器配置:

  • RAR 編碼的文件。在這種情況下,理想的做法是設(shè)置編碼文件的真實類型; 這通常是不可能的(因為服務(wù)器可能不知道這些文件可能包含多種不同類型的資源)。在這種情況下,配置服務(wù)器發(fā)送application/x-rar-compressedMIME 類型,用戶不會為它們定義有用的默認操作。

  • 音頻和視頻文件。只有具有正確 MIME 類型的資源才會被識別并播放<video>或播放<audio>。務(wù)必使用正確的音頻和視頻類型。

  • 專有文件類型。提供專有文件類型時要特別注意。避免使用,application/octet-stream因為特殊處理是不可能的:大多數(shù)瀏覽器不允許為這種通用 MIME 類型定義默認行為(如“在 Word 中打開”).MIME 嗅探在沒有 MIME 類型的情況下,或者在其他客戶端認為它們設(shè)置不正確,瀏覽器可能會進行 MIME 嗅探,這是通過查看資源來猜測正確的 MIME 類型。每個瀏覽器在不同的情況下執(zhí)行此操作。這種做法存在一些安全問題,因為一些 MIME 類型代表可執(zhí)行內(nèi)容而其他 MIME 類型不代表可執(zhí) 服務(wù)器可以阻止 MIME 嗅探通過發(fā)送X-Content-Type-Options沿Content-Type。見還

上一篇: 下一篇: