MIMEタイプについての備忘録になります。
MIMEタイプとは
Web上ではデータの形式を示すものとして、拡張子の他にもう一つ MIMEタイプ(マイムタイプ)があります。
Webサーバとブラウザの間でやりとりする際に、このMIMEタイプを用いてファイルデータの形式を指定します。
MIMEタイプの形式と種類
MIMEタイプは以下の形式で構成されます。
タイプ/サブタイプ
「タイプ」がファイルの大きな分類で、「サブタイプ」がファイルの種類を表しています。
主なMIMEタイプの例を記載します。
拡張子 | 文書の種類 | MIMEタイプ |
---|---|---|
.htm .html |
ハイパーテキストマークアップ言語(HTML) | text/html |
.png | Portable Network Graphics | image/png |
Adobe Portable Document Format(PDF) | application/pdf | |
.zip | ZIP アーカイブ | application/zip |
MIMEタイプとブラウザ処理
ブラウザがURLにアクセスした際、WebサーバはHTTPヘッダの「Content-type」にMIMEタイプを設定して、レスポンスを返します。
Content-Type: text/html; charset=utf-8
このとき、Webサーバが指定したMIMEタイプに合わせてブラウザの処理が変わります。
例えば、MIMEタイプに「text/html」を指定した場合、ブラウザはファイルをHTMLとして表示します。
ちなみに、Webサーバ側でレスポンスファイルの形式が定まっていないときの規定値として「application/octet-stream」というMIMEタイプがあります。
上記の場合、ファイル形式が指定されていないとして、ブラウザ側はファイルのダウンロードを行います。
参考になれば幸いです。
参考文献
・MIME タイプ (IANA メディアタイプ) - HTTP - MDN Web Docs
https://developer.mozilla.org/ja/docs/Web/HTTP/Basics_of_HTTP/MIME_types
・拡張子とMIMEタイプ - とほほのWWW入門
https://www.tohoho-web.com/wwwxx015.htm