![]() |
Sun ONE Application Server 7 管理者用設定ファイルリファレンス |
MIME タイプこのmoduleでは、MIME タイプのファイルについて説明します。次の節があります。
mime.types ファイルは obj.conf ファイルと相互に作用します。obj.conf の詳細については、『Sun ONE Application Server Developer's Guide to NSAPI』を参照してください。
注 mime.types インタフェースは不確定です。不確定なインタフェースは試験的または一時的なインタフェースであるため、次のリリースで互換性がなくなったり、削除されたり、または安定したインタフェースに置き換えられる場合があります。
はじめに
instance_dir/config ディレクトリにある MIME タイプファイルには、MIME (Multipurpose Internet Mail Extensions) タイプとファイル拡張子との間のマッピングが含まれています。たとえば、MIME タイプファイルは次のように拡張子 .html や .htm を text/html タイプにマッピングします。
type=text/html exts=htm,html
Sun ONE Application Server はクライアントから Web のリソース要求を受け取ると、MIME タイプマッピングを使って要求されているリソースの種類を判断します。
MIME タイプは、言語 (lang)、エンコーディング (enc)、およびコンテンツタイプ (type) の 3 つの属性で定義されます。各タイプにこれらの属性の 1 つ以上が存在する必要があります。最もよく使われる属性は、type です。サーバーは、通常、クライアントへの応答の生成方法を決定する際type を使います。enc および lang 属性を使うことはほとんどありません。
デフォルトの MIME タイプファイルは mime.types と呼ばれます。
MIME タイプの決定
要求処理プロセスの ObjectType ステップで、サーバーはクライアントが要求するリソースの MIME タイプ属性を判断します。MIME タイプの決定にはいくつかの異なる関数が使われますが、通常使われるのは type-by-extension です。この関数は、MIME タイプテーブルにある要求されたリソースのファイル拡張子に従って MIME タイプを検索するようサーバーに伝えます。
次に拡張子に従って MIME タイプを検索するようサーバーに伝える obj.conf の指令を示します。
ObjectType fn=type-by-extension
サーバーが force-type のような別の関数を使って type を決定する場合、特定の要求のために MIME タイプテーブルが使われることはありません。
Type の応答への影響
サーバーは、obj.conf でクライアントへの応答の生成に使う Service 指令を決定するときに、type 属性の値を考慮します。
デフォルトでは、type が magnus-internal/ で始まっていない場合、サーバーは要求されたファイルをクライアントに送信するだけです。この命令を含む obj.conf の指令は、次のとおりです。
Service method=(GET|HEAD|POST) type=*~magnus-internal/* fn=send-file
慣例では、要求されたリソースをクライアントに送信すること以外の作業をサーバーに要求する type のすべての値は、magnus-internal/ で始まります。
たとえば、要求されたリソースのファイル拡張子が .map の場合、タイプは magnus-internal/imagemap にマッピングされます。拡張子が .cgi、.exe または .bat の場合、タイプ は magnus-internal/cgi にマッピングされます。
type=magnus-internal/imagemap exts=map
type=magnus-internal/cgi exts=cgi,exe,battype が magnus-internal/ で始まっている場合、サーバーは obj.conf にある Service 指令のうち、指定されたタイプと一致するすべてを実行します。たとえば、タイプが magnus-internal/imagemap の場合、サーバーは次の指令の指示に従い imagemap 関数を使ってクライアントへの応答を生成します。
Service method=(GET|HEAD) type=magnus-internal/imagemap fn=imagemap
クライアントの行う MIME タイプの処理
Service 関数はデータを生成し、要求元のクライアントに送信します。サーバーはデータをクライアントに送信するとき、ヘッダーも送信します。これらのヘッダーには、既知のすべての MIME タイプ属性 (通常は type) が含まれます。
クライアントはデータを受信すると、MIME タイプを使ってデータの処理内容を決定します。ブラウザクライアントの場合、通常の処理はデータをブラウザウィンドウに表示することです。
要求されたリソースをブラウザに表示できず、ほかのアプリケーションで処理する必要がある場合、その type は application/ から始まります。たとえば、.bin ファイル拡張子では application/octet-stream、.fm ファイル拡張子では application/x-maker のようになります。クライアントにはユーザーが編集可能なマッピングの独自のセットがあり、どのアプリケーションを使ってどのデータを処理するのかを伝えます。
たとえば、type が application/x-maker の場合、クライアントは通常 Adobe FrameMaker を開いてファイルを表示し、処理します。
MIME タイプファイルの構文
MIME タイプファイルの最初の行では、次のようにしてファイル形式を明示します。
#--Sun Microsystems MIME Information
コメント以外の行は次の形式にします。
type=type/subtype exts=[file extensions]
- type/subtype はタイプとサブタイプです。
- exts は、このタイプに関連づけられたファイル拡張子です。
MIME タイプファイルの例
MIME タイプファイルの例を次に示します。
#--Sun Microsystems MIME Information
# 上の行は削除しないでください。ファイルタイプの識別に使われます。
type=application/octet-stream exts=bin,exe
type=application/oda exts=oda
type=application/pdf exts=pdf
type=application/postscript exts=ai,eps,ps
type=application/rtf exts=rtf
type=application/x-mif exts=mif,fm
type=application/x-gtar exts=gtar
type=application/x-shar exts=shar
type=application/x-tar exts=tar
type=application/mac-binhex40 exts=hqx
type=audio/basic exts=au,snd
type=audio/x-aiff exts=aif,aiff,aifc
type=audio/x-wav exts=wav
type=image/gif exts=gif
type=image/ief exts=ief
type=image/jpeg exts=jpeg,jpg,jpe
type=image/tiff exts=tiff,tif
type=image/x-rgb exts=rgb
type=image/x-xbitmap exts=xbm
type=image/x-xpixmap exts=xpm
type=image/x-xwindowdump exts=xwd
type=text/html exts=htm,html
type=text/plain exts=txt
type=text/richtext exts=rtx
type=text/tab-separated-values exts=tsv
type=text/x-setext exts=etx
type=video/mpeg exts=mpeg,mpg,mpe
type=video/quicktime exts=qt,mov
type=video/x-msvideo exts=avi
enc=x-gzip exts=gz
enc=x-compress exts=z
enc=x-uuencode exts=uu,uue
type=magnus-internal/imagemap exts=map
type=magnus-internal/parsed-html exts=shtml
type=magnus-internal/cgi exts=cgi,exe,bat
type=magnus-internal/jsp exts=jsp