これにより、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. まずdockerを起動するサービスdocker...
目次序文1. スタイルの浸透1. パターン浸透とは何ですか? 2. 使い方は? 2. ミキシング1....
原文: http://www.planabc.net/2008/08/05/userdata_beh...
TypeScript を使用する場合、TypeScript が提供する型システムを使用してコードのあ...
序文デフォルトでは、MySQL はデータベース クエリ データをキャッシュするために大きなメモリ ブ...
コードをコピーコードは次のとおりです。 <div contenteditable="...
1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...
これは多くの人が遭遇した問題だと思います。実際、Web ページから FLASH をダウンロードして修...
1 要件の概要MySQL5.6本番データベースの複数のテーブルのデータは、Oracle11gデータウ...
「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにしま...
Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...
Windows: NTFS、FATをサポートLinux は次のファイル形式をサポートしています: C...
1. MySQLをインストールする(1)ダウンロードしたMySQLの圧縮ファイルをMySQLをインス...
最近、jQuery を学習しているときに、show()、hide()、toggle() 関数に出会い...
導入悠宇希の原文です。 vite は Vue CLI に似ています。vite も、基本的なプロジェク...