■MIME形式とは
昔のメールは文字しか取り扱えず、データファイルなどを添付して送受信することはできませんでした。
そこで新たに文字コード以外のデータも取り扱える規格が発表されましたのが
MIME(Multipurpose Internet Mail Extensions)です。
MIME形式のメール本文部分は複数のパート(マルチパート)に分かれています。
それぞれのパートは再びヘッダ部分(MIMEヘッダ)と本文部分(MIMEボディ)とで構成されます。」」
この1組のパートすなわちMIMEヘッダとMIMEボディによってメールの本文やそれぞれのファイルが表されています。
Webにおける拡張子の取り扱い(MIMEタイプ)
Webの世界では拡張子という概念と、もうひとつ『MIMEタイプ』という概念があります。
MIMEタイプとは「タイプ名/サブタイプ名」の形式の文字列で、
WEBサーバーとWEBブラウザの間はこのMIMEタイプを用いてデータの形式を指定しています。
例えばMIMEタイプには以下のようなものがあります。
-----------------------------------------------------------------
ファイル形式 | 一般的な拡張 | MIMEタイプ |
テキスト | .txt | text/plain |
HTML文書 | .htm .html | text/html |
XML文書 | .xml | text/xml |
JavaScript | .js | text/javascript |
VBScript | .vbs | text/vbscript |
CSS | .css | text/css |
GIF画像 | .gif | image/gif |
JPEG画像 | .jpg .jpeg | image/jpeg |
PNG画像 | .png | image/png |
CGIスクリプト | .cgi | application/x-httpd-cgi |
Word文書 | .doc | application/msword |
PDF文書 | .pdf | application/pdf |
Excel | .xls | application/vnd.ms-excel |
-----------------------------------------------------------------
ブラウザが xx.gif というファイルをWEBサーバーに要求する際、
WEBサーバーはxx.gifの内容(データ)を「これは image/gif タイプのデータです」と言いながら返却してくれます。
これにより、ブラウザは受け取ったデータを正常に処理することができるのです。
しかし、Internet Explorer などのブラウザでは、この MIMEタイプの情報を無視して拡張子の方を信用したり、
MIMEタイプや拡張子を無視してファイルの中身を見て「text/plain と言っているけど、
これは HTML文書みたいだから、HTMLとして表示する」という動きもするブラウザもあり、
期待通りには制御できないのが現状。
MIMEタイプの設定方法
WEBサーバーによって設定方法は異なるが、現在最もよく使用されている
Apache というWEBサーバーでは、.htaccess というファイルによってMIMEタイプを指定します。
データ(xxx.htmlなど)と同じディレクトリ(フォルダ)に .htaccess という名前のファイルを用意して、その中身を
AddType text/html .html
とすれば、WEBサーバーは、「.html という拡張子のファイルは text/html という
MIMEタイプのデータとして送信する」という処理を行います。
.html や .gif などに関してはプロバイダ側がすでにこの設定を行っているので
追加する必要はない