ToolAct工具行動

MIME 類型查詢

快速查詢檔案副檔名對應的 MIME 類型,支援搜尋和分類篩選

115 个类型

文件(17)

.pdf

application/pdf

.doc

application/msword

.docx

application/vnd.openxmlformats-officedocument.wordprocessingml.document

.xls

application/vnd.ms-excel

.xlsx

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

.ppt

application/vnd.ms-powerpoint

.pptx

application/vnd.openxmlformats-officedocument.presentationml.presentation

.txt

text/plain

.rtf

application/rtf

.odt

application/vnd.oasis.opendocument.text

.ods

application/vnd.oasis.opendocument.spreadsheet

.odp

application/vnd.oasis.opendocument.presentation

.csv

text/csv

.json

application/json

.xml

application/xml

.html

text/html

.htm

text/html

圖片(15)

.jpg

image/jpeg

.jpeg

image/jpeg

.png

image/png

.gif

image/gif

.webp

image/webp

.svg

image/svg+xml

.ico

image/x-icon

.bmp

image/bmp

.tiff

image/tiff

.tif

image/tiff

.avif

image/avif

.heic

image/heic

.heif

image/heif

.psd

image/vnd.adobe.photoshop

.raw

image/raw

音訊(10)

.mp3

audio/mpeg

.wav

audio/wav

.ogg

audio/ogg

.m4a

audio/mp4

.flac

audio/flac

.aac

audio/aac

.wma

audio/x-ms-wma

.aiff

audio/aiff

.mid

audio/midi

.midi

audio/midi

影片(12)

.mp4

video/mp4

.webm

video/webm

.avi

video/x-msvideo

.mov

video/quicktime

.wmv

video/x-ms-wmv

.flv

video/x-flv

.mkv

video/x-matroska

.m4v

video/mp4

.mpeg

video/mpeg

.mpg

video/mpeg

.3gp

video/3gpp

.m2ts

video/mp2t

壓縮檔(9)

.zip

application/zip

.rar

application/vnd.rar

.7z

application/x-7z-compressed

.tar

application/x-tar

.gz

application/gzip

.bz2

application/x-bzip2

.xz

application/x-xz

.iso

application/x-iso9660-image

.dmg

application/x-apple-diskimage

程式碼(31)

.js

application/javascript

.mjs

application/javascript

.ts

application/typescript

.tsx

application/typescript

.jsx

application/javascript

.css

text/css

.scss

text/x-scss

.sass

text/x-sass

.less

text/x-less

.py

text/x-python

.java

text/x-java

.c

text/x-c

.cpp

text/x-c++

.h

text/x-c

.hpp

text/x-c++

.cs

text/x-csharp

.go

text/x-go

.rs

text/x-rust

.rb

text/x-ruby

.php

text/x-php

.swift

text/x-swift

.kt

text/x-kotlin

.sql

application/sql

.sh

application/x-sh

.bash

application/x-sh

.yaml

application/x-yaml

.yml

application/x-yaml

.toml

application/toml

.ini

text/x-ini

.vue

text/x-vue

.svelte

text/x-svelte

字型(5)

.woff

font/woff

.woff2

font/woff2

.ttf

font/ttf

.otf

font/otf

.eot

application/vnd.ms-fontobject

其他(16)

.exe

application/vnd.microsoft.portable-executable

.msi

application/x-msi

.apk

application/vnd.android.package-archive

.ipa

application/octet-stream

.deb

application/vnd.debian.binary-package

.rpm

application/x-rpm

.jar

application/java-archive

.war

application/java-archive

.swf

application/x-shockwave-flash

.crx

application/x-chrome-extension

.xpi

application/x-xpinstall

.torrent

application/x-bittorrent

.ics

text/calendar

.vcf

text/vcard

.epub

application/epub+zip

.mobi

application/x-mobipocket-ebook

什麼是 MIME 類型?

MIME 類型(Multipurpose Internet Mail Extensions)是一種網際網路標準,用於表示文件、檔案或位元組流的性質和格式。瀏覽器和伺服器使用 MIME 類型來決定如何處理接收到的內容。例如,當瀏覽器收到 image/jpeg 類型時會顯示圖片,收到 application/pdf 時可能會開啟 PDF 預覽。正確設定 MIME 類型對於 Web 應用的正常運作至關重要。

使用方法

快速參考

  1. 使用搜尋框查找特定的副檔名或 MIME 類型
  2. 點選分類標籤依檔案類型篩選
  3. 點選 'Ext' 或 'MIME' 按鈕以複製對應內容
  4. 瀏覽分類以快速查詢:文件、圖片、音訊、影片、壓縮檔、程式碼、字型等

查詢注意事項

  • MIME 類型是伺服器、瀏覽器和應用程式使用的慣例;僅憑副檔名無法證明實際內容。
  • 對於上傳和安全檢查,盡可能同時驗證聲明的 MIME 類型和檔案簽章。

使用場景

依副檔名查詢 MIME 類型在文件、圖片、音訊、影片、壓縮檔、程式碼、字型等常見檔案類型中搜尋副檔名或 MIME 字串。啟用全部篩選時結果依分類分組,比單一平面表格更方便瀏覽。全文搜尋同時支援副檔名(png、webp、json)和 MIME 值(image/png、application/json),從任一起點都能找到對應結果。
複製上傳和回應標頭的值每張卡片可複製副檔名或 MIME 值,方便設定檔案上傳的 accept 列表、Content-Type 標頭、儲存中繼資料、CDN 規則或後端驗證對照表。參考資料嵌入頁面中,離線或在無法存取 IANA 註冊表的內網筆電上也能使用。複製按鈕會將原始值寫入剪貼簿,不含尾端空白或引號。
在開發檔案功能時檢查分類覆蓋範圍分類篩選和結果計數能幫助產品和工程團隊了解功能目前支援哪些檔案家族。這是常見格式的快速參考,而非完整的標準註冊表。壓縮檔或字型分類的小缺口往往指向某個功能正在靜默拒絕上傳。
為 REST API 回應組裝 Content-Type 標頭將 application/vnd.api+json 或 application/x-ndjson 等確切值複製到 response.setHeader() 呼叫中。透過分類篩選交叉檢查不常見的副檔名,避免 JSON-LD、GeoJSON 或 WebAssembly 回應被誤判為純文字。RFC 6839 的 vendor-specific +json 和 +xml 慣例攜帶了關於承載結構的有意義資訊,此處的錯字通常會導致客戶端解析器出錯。
涵蓋 IANA 註冊、x-prefix 實驗性類型和內容嗅探IANA 註冊表是 MIME 類型的官方來源,但並未列出所有實際可用的值:實驗性條目使用 x- 前綴(如 application/x-tar、application/x-rar-compressed),雖出現在 nginx 和 Apache 的 mime.types 設定中卻從未標準化。在安全性方面,內容嗅探(讀取檔案開頭的魔數位元組)比信任宣告的 Content-Type 標頭更可靠,現代瀏覽器透過 X-Content-Type-Options: nosniff 停用傳統的嗅探回退。使用查詢表找到標頭值後,應在伺服器端驗證實際位元組再提供檔案。

技術原理

MIME 類型(Multipurpose Internet Mail Extensions)是資料格式的標準化識別碼,最初在 RFC 2045/RFC 2046 中定義用於電子郵件附件,後來被 HTTP(RFC 7231 §3.1.1.5)採用於網頁內容協商。MIME 類型的結構為 type/subtype——type 宣告大類別(text、image、audio、video、application、multipart、font、model),subtype 指定確切格式(例如 text/html、image/png、application/json)。可選參數以分號分隔(text/html; charset=utf-8)。 網際網路號碼分配局(IANA)在 iana.org/assignments/media-types 維護官方 MIME 類型註冊表。註冊遵循 RFC 6838,該規範定義了需要規格文件、安全性考量和互通性說明的審查流程。未註冊的類型可使用 x- 前綴(例如 application/x-tar)作為實驗性或供應商專屬格式的慣例,但 RFC 6648 建議避免使用 x- 前綴,改為正式註冊。 在 HTTP 中,Content-Type 標頭告知客戶端如何解讀回應主體。伺服器回傳 Content-Type: image/svg+xml 會觸發瀏覽器的 SVG 渲染器;Content-Type: application/octet-stream 會觸發下載提示,因為瀏覽器無法判斷格式。瀏覽器也會使用 MIME 類型資訊進行 MIME 嗅探——當伺服器省略 Content-Type 或發送通用類型時,瀏覽器可能會檢查回應的前幾個位元組(魔術位元組)來猜測實際格式。此行為受 X-Content-Type-Options: nosniff 標頭控制,該標頭會停用嗅探並要求伺服器宣告正確的類型。 對於檔案上傳,Accept 標頭告知伺服器客戶端期望的 MIME 類型,而 input 元素的 accept 屬性則限制檔案選擇器為特定類型(例如 accept="image/png, image/jpeg")。在伺服器端,上傳的檔案應同時驗證其宣告的 MIME 類型和檔案簽章(魔術位元組),因為兩者都不可單獨信任——一個名為 image.png 且 Content-Type 為 image/png 的檔案可能包含可執行程式碼。本工具作為查詢給定檔案副檔名對應標準 MIME 類型的參考,涵蓋八大類別超過 100 種常見格式。

  • RFC 2046 結構:type/subtype——type 表示大類內容類別,subtype 表示確切格式;可選參數以分號分隔(text/html; charset=utf-8),按規範不區分大小寫,但慣例使用小寫。
  • IANA 註冊(RFC 6838):新媒體類型需要規格文件、安全性考量章節和互通性說明——審查流程確保類型在進入註冊表前有完整文件記錄且無衝突。
  • HTTP Content-Type 標頭:伺服器宣告回應主體的 MIME 類型;瀏覽器用它選擇合適的渲染器(HTML 解析器、圖片解碼器、PDF 檢視器)或觸發下載——不正確的 Content-Type 是「檔案下載而非顯示」錯誤最常見的原因。
  • MIME 嗅探與 X-Content-Type-Options:當 Content-Type 缺失或為通用類型時,瀏覽器可能檢查魔術位元組來猜測格式——X-Content-Type-Options: nosniff 停用此行為並要求精確的 Content-Type 匹配,這是安全性最佳實踐。
  • application/octet-stream:通用二進位回退類型——瀏覽器將其視為不透明流並觸發下載,是伺服器無法確定格式時最安全的預設值,但會阻止原本可顯示的內容在瀏覽器中預覽。
  • 檔案上傳驗證:input 的 accept 屬性在客戶端過濾檔案選擇器,但伺服器端驗證必須同時檢查宣告的 Content-Type 和檔案的魔術位元組——副檔名、MIME 類型和檔案簽章之間的不匹配是惡意上傳的警訊。
  • 供應商專屬與實驗性類型:x- 前綴慣例(application/x-tar、video/x-matroska)早於正式註冊流程——RFC 6648 建議盡可能將這些類型遷移至正式的 IANA 註冊類型,但許多仍在廣泛使用。

範例

Nginx mime.types 設定

types {
  text/html             html htm;
  image/jpeg            jpg jpeg;
  application/pdf       pdf;
  application/javascript js;
}

說明: 每行將一種 MIME 類型對應到一個或多個副檔名;Nginx 會在 Content-Type 標頭中回傳對應類型
IANA: https://www.iana.org/assignments/media-types/ 維護官方註冊表

HTTP Content-Type 回應標頭

Content-Type: application/json; charset=utf-8

說明: charset 為選用,但建議用於 text/* 與 application/json;客戶端依此正確解碼內容
RFC: RFC 7231 第 3.1.1.5 節定義 Content-Type 標頭語意
MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type

瀏覽器 Blob 建構函式

const blob = new Blob([data], { type: 'application/pdf' });
const url  = URL.createObjectURL(blob);

說明: 當 blob 後續被下載或上傳時,type 即作為 Content-Type;指定明確的子類型可避免變成 application/octet-stream
MDN: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob 說明 type 參數

依分類列出常見 MIME 類型

Text:       text/plain, text/html, text/css, text/javascript, text/markdown
Image:      image/jpeg, image/png, image/gif, image/webp, image/svg+xml
Audio:      audio/mpeg, audio/wav, audio/ogg, audio/aac
Video:      video/mp4, video/webm, video/ogg
Application: application/json, application/pdf, application/xml, application/zip

IANA 在 Media Types 註冊表中依頂層類型名稱進行分類

常見問題

什麼是 MIME type?為什麼重要?

MIME type(Multipurpose Internet Mail Extensions,又稱媒體類型)是像 text/html、image/png 或 application/json 這樣的簡短標籤,用來告訴接收端的軟體要怎麼解讀一段位元組資料。瀏覽器、郵件客戶端、檔案上傳器和 API 都依賴它來決定要渲染、下載、解析還是拒絕內容。

MIME type 跟副檔名有什麼不同?

副檔名是檔名的一部分,純粹是命名慣例。MIME type 則是透過網路在 Content-Type 標頭中傳遞。兩者通常一致(.png ↔ image/png),但伺服器其實可以用任何 MIME type 提供任何副檔名的檔案,瀏覽器信任標頭遠勝於副檔名。讓兩者一致是好習慣;若把副檔名當成安全防線,那就是漏洞。

application/octet-stream 是什麼意思?

這是「任意二進位資料」的通用 MIME type。瀏覽器收到時會直接提供下載而不嘗試渲染。當伺服器無法辨識格式時就會退回到這個值,通常表示 MIME 對應設定缺漏或錯誤。能換成正確的具體類型就盡量換。

可以信任 Content-Type 來驗證上傳的檔案嗎?

光靠它不行。任何人都可以一邊上傳執行檔一邊宣稱是 image/png。請務必嗅探實際位元組(魔術數字,PNG 開頭 89 50 4E 47、PDF 開頭 %PDF-、ZIP 開頭 PK),檢查副檔名,在伺服器端套用白名單,並限制檔案大小。瀏覽器送出的 MIME 是線索,不是證據。

為什麼下載時檔名或副檔名不對?

瀏覽器決定儲存名稱的順序是:Content-Disposition 標頭、URL 路徑、MIME type。如果伺服器把 PDF 下載回應成 text/html,瀏覽器可能會把它存成 .html。設定 Content-Disposition: attachment; filename="name.pdf" 並搭配正確的 application/pdf MIME type 就能避免這類意外。

怎麼幫自訂或冷門格式找到正確的 MIME type?

先查 IANA 媒體類型登錄表(iana.org/assignments/media-types)。對於未登錄或廠商特定格式,慣例是用 application/vnd.* 或 application/x-*(例如 application/vnd.api+json、application/x-7z-compressed)。發明新類型前,先找最接近的標準對應。

為什麼 .json 和 .js 的 MIME type 不一樣?

JSON 是資料,用 application/json。JavaScript 是可執行程式碼,會以 text/javascript 或 application/javascript 提供(RFC 9239 將 text/javascript 訂為建議值)。混用會出問題:script 標籤拒絕執行 application/json,而某些伺服器也會拒收 application/javascript,只接受 text 變體。