これにより、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 の詳細な説明
MySQLはユーザーを作成し、ユーザーの権限を承認および取り消します動作環境: MySQL 5.0...
本日のプロジェクト最適化中に、MySQL に問題が発生しました: 定義者として指定されたユーザー (...
1. SHOW PROCESSLISTコマンドSHOW PROCESSLIST は実行中のスレッド ...
CSS3 アニメーション トランジションを使用して、リンクの上にマウスを移動すると小さなポップアップ...
最近、「フットボール ナビゲーション」Web サイトに取り組んでいるときに、上部の固定ナビゲーション...
自分でウェブページを書きたいので、HTML 言語についても少し勉強しています。これは、大学時代にウェ...
負荷分散とは負荷分散は主に、専用のハードウェア デバイスまたはソフトウェア アルゴリズムによって実現...
この記事では、CSS無限シームレススクロール効果を実現するためのvue3の具体的なコードを参考までに...
以下の記事を読んだ後、プロジェクトをサーバーにデプロイできます。Tomcat、JDK、MySQL な...
ReactライフサイクルReactのライフサイクルを理解するのに役立つ2つの図React ライフサイ...
組織内で何らかのパスワード ポリシーがすでに実装されている場合は、この記事を読む必要はありません。た...
まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...
まず、サーバーのハードウェアが現在のトラフィックをサポートするのに十分かどうかを確認します。通常の ...
1. CSS3アニメーション☺CSS3 アニメーションは、JavaScript を介して要素のスタイ...
以前は、このような使用シナリオを処理するために rand() で直接 order していましたが、効...