web-dev-qa-db-ja.com

すべての画像ファイルに汎用のMIMEタイプはありますか?

here のように特定のMIMEタイプを使用できること、またはapplication/octet-streamのような任意のファイルに汎用のMIMEタイプを使用できることは知っていますが、すべての人に汎用のMIMEタイプがあります。画像ファイル?

(私はLinux Mint KDEで.desktopファイルを編集して、Dolphin File Managerで 'Action'コンテキストメニューのエントリを作成したいのですが、これは画像ファイルに対してのみ表示されるでしょう。)

25
user162573

すべての画像ファイルに汎用のMIMEタイプはありますか?

通常はありませんが、この回答の後半に記載されている例外がいくつかあります。

ファイルを処理する方法を知るためには(ファイルヘッダーを読む必要なしに)MIMEタイプが必要です。

ノート:

  • すべての画像ファイルにその種類を識別するヘッダーが付いているわけではありません。

  • たとえば、 SVGファイル は、単なるXMLファイルです。したがって、正しいMIMEタイプまたは拡張子がないと、ファイルのタイプを正しく識別することはできません。

  • MIMEタイプはContent-Type/subtypeとして指定されます

  • MIMEタイプimage/genericはありません(IANA登録画像サブタイプの全リストについては、以下の「参考文献」を参照してください)。


複数の画像ファイルにMIMEタイプがあるということですか?

複数の画像フォーマットをカバーするsingleContent-Type/subtypeはありません。

理論的には、image/xyzのような未知のサブタイプを使うこともできますが、W3Cは明示的にこう言います。

「Content-Typeがimage/xyzであれば、データが画像であることをユーザエージェントに伝えるのに十分です。たとえユーザエージェントが特定の画像フォーマットについての知識を持っていなくてもxyz ...」 、認識できない画像や音声のサブタイプには使用できません"

一般に、最上位のContent-Typeは一般データ型を宣言するために使用され、サブタイプはそのデータ型の特定のフォーマットを指定します。

したがって、 "image/xyz"のContent-Typeは、ユーザーエージェントが特定の画像フォーマット "xyz"についての知識を持っていなくても、データが画像であることをユーザーエージェントに伝えるのに十分です。

このような情報は、たとえば、認識できないサブタイプからの生データをユーザーに表示するかどうかを決定するために使用できます。このようなアクションは、認識できないサブタイプのテキストには妥当ですが、認識できないサブタイプのイメージまたはオーディオには適しません。

このため、音声、画像、テキスト、およびビデオの登録されたサブタイプには、実際には異なるタイプの埋め込み情報を含めるべきではありません。そのような複合タイプは、「マルチパート」または「アプリケーション」タイプを使用して表されるべきです。

ソース W3C - コンテンツタイプヘッダフィールド


特別な場合にimage/*のようなワイルドカードを使用できますか?

それは私の目的のためにそれが単数のファイル拡張子/ MIMEを指定する必要なしに使われることができるように?

はい。あなたが指摘したように、ワイルドカードはKDEとGNOMEデスクトップ環境のための "デスクトップエントリ"を指定するときに使用することができます。

しかし、Key = MimeTypeは新しい標準があるので推奨されていません。

Type=MimeTypeは現在これに関する新しい標準があるので非推奨です。詳細については 共有MIME情報データベース仕様 を参照してください。その結果、Keysパターン(MIMEタイプに関連付けられているさまざまなファイル名拡張子)およびDefaultApp(このMIMEタイプに関連付けられているデフォルトアプリケーション)も非推奨になりました。

ソース デスクトップエントリ指定

IISではMIMEタイプにワイルドカードを使用することもできますが、notにすることをお勧めします。

ワイルドカード文字(*)MIMEタイプを追加することによって、未定義のファイルタイプを処理するようにIISを構成することもできます。

運用サーバーではワイルドカードMIMEタイプを使用しないでください。これを行うと、IISが認識されないファイルを処理し、機密情報をユーザーに表示する可能性があります。

ワイルドカードMIMEタイプは、テスト目的、またはカスタム認証ISAPIなど、これらのワイルドカードシナリオを処理するためにインターネットサーバーAPI(ISAPI)フィルタが特に開発されているシナリオでの使用を目的としています。

ソース グローバルMIMEタイプの作成


参考文献

26
DavidPostill

によると このSO-Answer によると、一般的なMIMEタイプはありません。問題は、MIME-Typeが常にType、Subtype、およびオプションのParameter:Type/Subtype; Parameterで構成されていることです(ここでを参照)。型のみを使用したいのですが、定義上サブタイプが必要であり、総称サブタイプはありません。すべての画像タイプのリストはここで見つけることができます。

2
jrast