2

たとえば、私のアプリケーションがバイナリ添付ファイル (例: somedata.xlsx) を含むメールを送信するとします。メール メッセージを (プログラムで) 作成するときは、次のいずれかを実行できます。

  1. 添付ファイルの MIME タイプをapplication/octet-stream またはに設定するだけです

  2. ファイルの実際の内容に応じて、「正しい」MIME タイプを設定します (たとえばapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet、前述のsomedata.xlsxファイルの場合)。

それも仮定しよう

  • 私はファイルの実際の内容を知っています (したがって、オプション 2 は実行可能です)。
  • ファイルは常にバイナリ (人間が判読できない) であり、
  • すべての受信者は、ファイル拡張子がファイルの種類を指定するためのデファクト スタンダードである「企業 Windows ワールド」に存在します。

application/octet-streamすべてを-ingするだけでなく、さまざまな MIME タイプを使用するという面倒なことをしなければならないのはなぜですか? 私の経験から、xlsxMIME タイプがapplication/octet-streamapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet.

それはただの良い習慣²なのか、それとも本当に実用的な違いを生むのか?


¹ つまり、Windows システムでxlsxは、レジストリでハンドラを検索し、起動してファイルを開きます。

² 個人的には、「優れた実践」が非常に正当な理由であると考えています。しかし、科学的な好奇心のために、それが実際的な違いを生むかどうかに興味があります.

4

1 に答える 1

0

この答えは純粋に推測です。

中間システム (つまり、サーバー側に実装された何らかのメール フィルター) が、クライアント システムを保護するために、「安全な」MIME タイプ以外のすべてへのアクセスをブロック/削除するとします。 application/octet-streamおそらく安全であると考えるべきではありませんが、真の MIME タイプはそうかもしれません。このようなシナリオでは、動作に実際の違いがあります。

于 2013-04-09T15:35:35.973 に答える