知ってた?ナルホド! BLOG

2019.05.21

MIMEタイプを理解する!

WRITTEN BY

 | 

HIRAHARA NATSUMI

MIMEタイプを理解する!

こんにちは!コーダーの平原です!
今回は、htmlの要素のtype属性などでも指定される、MIMEタイプについてご紹介します。

  1. MIMEタイプとは
  2. MIMEタイプの記述方法
  3. MIMEタイプの主な種類
  4. MIMEタイプの追加
  5. まとめ

1. MIMEタイプとは

MIMEタイプ(Multipurpose Internet Mail Extensions)は、文書、ファイル、またはバイト列の性質や形式を示す標準です。
ブラウザにファイルの中身を正しく解釈させる為には、ファイル拡張子ではなく、このMIMEタイプを使用します。
MIMEタイプが正しく設定されていないと、ブラウザがファイルの中身を誤って解釈してしまい、サイトが正しく動作しないなどの不具合が生じてしまいます。
MIMEタイプは、インターネット上で利用される識別情報の割り当てや管理を行っていた(現在はICANNへ移管)、IANA(Internet Assigned Numbers Authority)によって管理されています。

2. MIMEタイプの記述方法

MIMEタイプは、基本的にタイプとサブタイプをスラッシュ(/)で区切って記述します。
タイプは、データ型が当てはまる全般的なカテゴリを示し、サブタイプはそのタイプが表す正確なデータの種類を識別します。
htmlファイルのMIMEタイプは以下のようになります。

text/html

3. MIMEタイプの主な種類

text
人間が読むことができるソースコードやCSV形式のデータのようなテキストデータを示します。
text/html
text/css
text/javascript
text/csv
text/plain
image
画像またはグラフィックデータを示します。
image/jpeg
image/png
image/gif
image/svg+xml
image/webp
video
動画のデータまたはファイルを示します。
video/mp4
audio
音声のデータまたはファイルを示します。
audio/mp3
application
他のタイプに明確に当てはまらない、あらゆる種類のバイナリファイル(テキストファイル以外)を示します。
application/pdf
application/zip
application/json
application/octet-stream
application/octet-streamについて
application/octet-streamは、何らかのバイナリファイルを表すものです。指定した場合はファイルのダウンロードが実行されます。

4. MIMEタイプの追加

MIMEタイプはサーバーで登録されていない拡張子があった場合など、任意で追加することができます。Apacheの場合は、httpd.conf、又は.htaccessファイルを編集することで追加することができます。
ApacheのMIMEタイプの基本的な設定は、mime.typesファイルで設定されていますが、MIMEタイプを追加する場合はこちらではなく、httpd.conf、又は.htaccessファイルが推奨されているようです。

追加の記述には、AddTypeディレクティブを使用します。AddTypeディレクティブは、与えられた拡張子を指定されたMIMEタイプに指定します。
記述方法は以下のようになります。

AddType application/json .json
AddType video/mp4 .mp4
AddType audio/mp3 .mp3

5. まとめ

MIMEタイプは、ファイルの形式ごとの処理を、ブラウザに正しく伝達する為に必要な標準の指定方法です。
サーバーの設定によっては、使用したいファイル形式のMIMEタイプが設定されていないこともあり、その場合は新たにMIMEタイプを設定する必要があります。
MIMEタイプの知識があることによって、指定したファイル形式がブラウザで意図しない処理のされ方をした場合などに、原因を解明する手がかりになるかもしれません。

PAGE TOP