網路:什麼是 MIME TYPE?

來源:互聯網
上載者:User

教程

https://www.cnblogs.com/jsean/articles/1610265.html
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types
最近在讀 Golang 的源碼,看到 mime.go 這個檔案時,有點看不懂了。

MIME 簡介

MIME, Mutipurpose Internet Mail Extensions,多用途 Internet 郵箱擴充。MIME 是描述訊息內容類型的 internet 標準。在建立之初,是為了在寄送電子郵件時附加多媒體資料,讓郵件客戶程式根據其類型進行處理。現在 MIME TYPE 被 HTTP 協議支援後,使得HTTP能夠傳輸各種各樣的檔案。

瀏覽器與 MIME-TYPE

瀏覽器通過 MIME TYE,也就是該資源的媒體類型,來決定以什麼形式顯示資料。

媒體類型通常是通過 HTTP 協議,由 Web 服務器要求標頭中的 Content-Type 來告知瀏覽器資料類型的,比如:

Content-Type: text/HTML

表示內容是 text/HTML 類型,也就是超文字檔。注意,必須是 "text/HTML" 而不是 "HTML/text".因為 MIME 是經過 ietf 組織協商,以 RFC 的形式發布在網上的。

自訂的類型

需要注意的是:只有一些在互連網上獲得廣泛應用的格式才會獲得一個 MIME Type,如果是某個用戶端自己定義的格式,一般只能以 application/x- 開頭。

Internet 中有一個專門組織來對 MIME 標準進行修訂,但是由於 Internet 發展過快,很多應用程式便使用在類別中以 x- 開頭的方法標識這個類別還沒有成為標準,例如 x-gzip,x-tar等。

其實是不是標準無關緊要,只要用戶端和伺服器都能識別這個格式就可以了。在 app 端會使用自訂標準來保證資料安全。

MIME類型與文檔的尾碼相關,因此伺服器使用文檔的尾碼來區分不同檔案的 MIME 類型,伺服器中必須規定檔案尾碼和MIME類型之間的對應關係。而用戶端從伺服器上接收資料的時候,它只是從伺服器接收資料流,並不瞭解文檔的名字,因此伺服器需要使用附加資訊來告訴客戶程式資料的 MIME 類型。伺服器將首先發送以下兩行 MIME 標識資訊,這個資訊並不是真正的資料檔案的一部分。

Context-type: text/html

注意,第二行為一個空格,這是必須的,使用這個空行的目的是將 MIME 資訊與真正的資料內容分離開。

MIME TYPE文法 及常見分類

通用結構:type/subtype
MIME 類型對大小寫不敏感,但是通常傳統寫法是小寫。
分類

分類 描述 典型類型
text 表明是普通文本 text/plain, text/html, text/css, text/javascript
image 表示是某種映像,不包括視頻檔案,但是包括動態圖 image/gif /image/png, image/jpeg, image/bmp, image/webp
audio 音頻檔案 audio/midi, audio/mpeg, audio/webm, audio/ogg, audio/wav,
video 表示某種視頻檔案 video/webm, video/ogg
application 表示某種位元據 application/octet-stream,/pkcs12, application/vnd.mspowerpoint, application/xhtml+xml, application/xml, application/pdf,application/json

對於 text 檔案類型若是沒有特定的 subtype,就使用 text/plain, 類似的二進位檔案如果沒有特定或已知的 subtype,就使用 application/octet-stream.

重要的 MIME 類型

text/plain
文字檔預設值,意思是未知的文字檔,瀏覽器認為是可以直接展示的。

text/css
任何一個 CSS 檔案想要在網頁上被解釋執行就必須設為 text/css 檔案。如果伺服器將 MIME 類型設定為 text/plain 或 application/octet-stream 發送,這種情況下,檔案並不能被瀏覽器識別為 CSS 檔案並且會被直接忽略。

text/html
所有的 HTML 內容都應該使用這種格式。

圖片類型

MIME 類型 圖片類型
image/gif GIF 圖片
image/jpeg JPEG圖片
image/png PNG圖片
image/svg+xml SVG 圖片(向量圖)

還有非MIME 類型,但是比較通用的 icon 類型,image/x-icon

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.