Sun ロゴ      前へ      目次      索引      次へ     

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.htmtext/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 属性の値を考慮します。

デフォルトでは、typemagnus-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,bat

typemagnus-internal/ で始まっている場合、サーバーは obj.conf にある Service 指令のうち、指定されたタイプと一致するすべてを実行します。たとえば、タイプが magnus-internal/imagemap の場合、サーバーは次の指令の指示に従い imagemap 関数を使ってクライアントへの応答を生成します。

Service method=(GET|HEAD) type=magnus-internal/imagemap fn=imagemap


クライアントの行う MIME タイプの処理

Service 関数はデータを生成し、要求元のクライアントに送信します。サーバーはクライアントに、データとヘッダーを送信します。これらのヘッダーには、既知のすべての MIME タイプ属性 (通常は type) が含まれます。

クライアントはデータを受信すると、MIME タイプを使ってデータの処理内容を決定します。ブラウザクライアントでは、データは通常ブラウザウィンドウに表示されます。

要求されたリソースをブラウザに表示できず、ほかのアプリケーションで処理する必要がある場合、その typeapplication/ から始まります。たとえば、.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 タイプファイルの例を次に示します。

#--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



前へ      目次      索引      次へ     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.