これにより、png ファイルのアップロードも不可能になりました (後で情報を調べたところ、レジストリの場所が間違っていたことに気付きました)。私自身のテストの結果は次のようになりました。
比較すると、Chrome と FireFox によって反映される ContentType は、実際の回答とより一致しています。では、なぜこのような違いがあるのでしょうか?
MIME タイプは、特定の拡張子を持つファイルを特定のアプリケーションで開くように設定する方法です。この拡張子を持つファイルにアクセスすると、ブラウザは自動的に指定されたアプリケーションを使用してファイルを開きます。これは主に、クライアント定義のファイル名とメディア ファイルの開き方を指定するために使用されます。 MIME の英語での正式名称は、「Multipurpose Internet Mail Extensions」です。これは多目的インターネット メール拡張プロトコルです。1992 年に初めて電子メール システムに適用されましたが、後にブラウザーにも適用されました。サーバーは送信するマルチメディア データの種類をブラウザーに通知します。通知方法は、マルチメディア データの MIME タイプを説明することです。これにより、ブラウザーは受信した情報のうちどれが MP3 ファイルで、どれが Shockwave ファイルであるかなどを認識します。サーバーは送信データに MIME 識別子を配置し、関連付けられたファイルを読み取るためにどのプラグインを使用するかをブラウザに通知します。 MIME は、非 ASCII 文字やバイナリ添付ファイルなど、さまざまな形式の電子メール メッセージをサポートできます。この標準は、RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049 などで定義されています。 RFC 822 から派生した RFC 2822 では、電子メール標準では電子メール メッセージで 7 ビット ASCII 文字セット以外の文字の使用は許可されないと規定されています。このため、英語以外の文字メッセージや、バイナリ ファイル、画像、サウンドなどのテキスト以外のメッセージは、電子メールでは送信できません。 MIME は、さまざまなデータ型を表すための記号的な方法を指定します。 ブラウザはファイルを受信すると、プラグイン システムに入り、受信したファイルを認識して読み取ることができるプラグインを検索します。ブラウザがどのプラグイン システムを呼び出すべきかわからない場合、プラグインが見つからないことをユーザーに通知するか、または既存のプラグインを選択して受信したファイルを読み取ろうとする可能性があり、その結果システムがクラッシュする可能性があります。送信された情報に MIME 識別子が含まれていない場合にどのような結果が生じるかを予測することは困難です。一部のコンピュータ システムでは問題が発生しないかもしれませんが、その結果一部のコンピュータがクラッシュする可能性があるためです。 出力がブラウザに送信されると、ブラウザは出力ドキュメントを処理するために適切なアプリケーションを起動する必要があります。これは、さまざまな種類の MIME (Multipurpose Internet Mail Extensions) を使用して実行できます。 HTTP では、MIME タイプは Content-Type ヘッダーで定義されます。 たとえば、Microsoft Excel ファイルをクライアントに送信するとします。このときの MIME タイプは「application/vnd.ms-excel」です。ほとんどの場合、このファイルは処理のために Excel に渡されます (特定の MIME タイプを処理するアプリケーションとして Excel を設定していると仮定)。 ASP では、MIME タイプを設定する方法は、Response オブジェクトの ContentType プロパティを通じて行われます。
Microsoft Internet Explorer 4.0 以降では、MIME タイプの判別は URL モニカーのFindMimeFromDataメソッドを通じて行われます。 MIME タイプを識別すると、URL モニカやその他のコンポーネントは、関連するコンテンツを処理するために適切なオブジェクト サーバーまたはアプリケーションを見つけて起動できるようになります。 サーバーから提供されたMIMEタイプ(利用可能な場合) ダウンロードしたURLに関連付けられた実際のコンテンツの調査 ダウンロードされたコンテンツに関連付けられたファイル名(関連付けられた URL から派生したものと想定されます) ダウンロード中に有効なレジストリ設定(ファイル名拡張子/MIMEタイプの関連付けまたは登録されたアプリケーション) レジストリの場所 FindMimeFromData がファイル名拡張子から MIME タイプと progID を見つけるために使用する場所: HKEY_CLASSES_ROOT\.*** HKEY_CLASSES_ROOT\<ProgId>\shell\open\command HKEY_CLASSES_ROOT\MIME\データベース\コンテンツタイプ MIME タイプ検出、つまりデータ スニッフィングの目的は、次の 4 つのソースからの情報を使用して、ダウンロードされたコンテンツの MIME タイプ (コンテンツ タイプまたはメディア タイプとも呼ばれます) を判別することです。 具体的な情報については、MSDN ドキュメントを参照してください。 MIME タイプ検出アルゴリズム、FindMimeFromData 関数、およびアップロードされた MIME タイプ セクションの詳細については、 http://msdn.microsoft.com/zh-cn/library/ms775147 (v=VS.85).aspx を参照してください。
インターネットには標準の MIME タイプを確認するための特別な組織である IANA がありますが、インターネットは急速に発展しており、多くのアプリケーションでは、使用する MIME タイプが標準タイプであることを IANA が確認するまで待つことができません。そのため、このカテゴリがまだ標準になっていないことを示すために、カテゴリを x- で始める方法が使用されます (例: x-gzip、x-tar など)。実際、これらのタイプは非常に広く使用されており、事実上の標準となっています。クライアントとサーバーの両方が MIME タイプを認識できる限り、非標準のタイプであっても問題ありません。クライアントプログラムは、MIME タイプに基づいて特定の処理方法を使用してデータを処理できます。 Web サーバーとブラウザー (オペレーティング システムを含む) では、標準および一般的な MIME タイプがデフォルトで設定されています。一般的でない MIME タイプの場合のみ、識別のためにサーバーとクライアント ブラウザーの両方を設定する必要があります。 image/x-png に関する議論はhttp://stackoverflow.com/questions/2086374/what-is-the-difference-between-image-png-and-image-x-pngにあります。 |
<<: Docker 可視化グラフィックツール portainer の詳細な説明
目次1. Tsとは何か2. 基本的な文法1. プリミティブデータ型を宣言する2. オブジェクト型を宣...
目次1. proxy_pass を設定した後に Nginx が 404 を返す問題のトラブルシューテ...
docker-compose.yml ファイルで './' 相対パスを許可する バー...
Nginx は、一般的に 7 層の負荷分散に使用できます。この記事では、負荷分散に関する基本的な知識...
はじめに: 最近、会社のプロジェクトでデータベースのバージョンが変更されました。ここでは、MySQL...
目次スクロールをスムーズにするBetterScrollのスクロール体験慣性ローリングエッジリバウンド...
目次オブザーバーパターンとは何ですか?シナリオシミュレーションコードの実装コードのリファクタリング要...
DOCTYPE が次のとおりである場合:コードをコピーコードは次のとおりです。 <!DOCTY...
コードをコピーコードは次のとおりです。 wmode パラメータ:透過モード: z-indexを使用し...
概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...
目次ドキュメント オブジェクト モデル (DOM) DOM と JavaScript DOMツリーの...
目次1. トリガーとは何ですか? 2. トリガーを作成するトリガーを作成するための構文は次のとおりで...
ログイン dockerログインdocker login コマンドを実行し、ユーザー名、パスワード、メ...
1. 水平中央公開コード: html: <div class="parent&quo...
js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...