Sun ONE Application Server 7, Enterprise Edition 管理者用設定ファイルリファレンス |
第 4 章
MIME タイプこの章では、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]
MIME タイプファイルの例MIME タイプファイルの例を次に示します。