[53] データのバイト列を検査してそのMIME型などを決定することを、sniffing といいます。
[1] Web では、 MIME sniffing によって MIME型が決定されます。
[69] encoding sniffing (charset sniffing) は、 バイト列からその符号化を推定するアルゴリズムです。
file(1)
[97] 多くのプラットフォームに MIME magic などと称するツールがあります。 これは、ファイルの先頭のバイト列から MIME型を推定するものです。
[25] RFC 4627 が JSON の charset sniffing について言及しています。
[50] RDFa 1.1 に基づく RDFa処理器は、 MIME型によってホスト言語を決定しなければなりません。
MIME型を決定できないか未対応の時は、 application/xml
としなければなりません。
>>49
[51] >>50 の直後にこれと矛盾する次のような「NOTE」があります。 MIME型が無い時、 DOCTYPE、根要素、拡張子、利用者定義の引数など追加の仕組みを用いても構いません >>49。
One special type is 'application/octet-stream'. If the Printer object supports this value, the Printer object MUST be capable of auto-sensing the format of the document data using an implementation-dependent method that examines some number of octets of the document data, either as part of the create operation and/or at document processing time.
[10] HTML の encoding sniffing algorithm は先頭1024バイトを1つの基準としています。
[12] CSS encoding sniffing は先頭1024バイトを検査します。
[11] MIME sniffing は先頭1445バイトを検査します。
[14] sniffing は発見的方法によることが多く、相互運用性に乏しいのが問題です。
[15] Webプラットフォームは sniffing の方法も標準化していますが、 各実装は完全にそれに従っているわけではなく、 相互運用性の問題は皆無ではありません。
[16] sniffing の相互運用性の問題は、そのままセキュリティーの問題となります。
[17] とりわけ、安全と考えられているファイル形式が危険なファイル形式と(誤)判定され得る状況は、 しばしば悪用されます。
[18] 故に、
はセキュリティーのために極めて重要と考えられています。
[7] browser sniffing も参照。
[8] Editorial: further cleanup "abort these steps" (shreyateeza著, ) https://github.com/whatwg/html/commit/99e2cdfc484c2ff14cbf5c38b859f4d6da17e64c
[9] rouge/lib/rouge/guessers at master · jneen/rouge () https://github.com/jneen/rouge/tree/master/lib/rouge/guessers
[23] TOPICS - VC, , https://web.archive.org/web/19980131160510fw_/http://www.villagecenter.co.jp/cgi-bin/contents.cgi?0=TOPICS
<body bgcolor="black" text="white" link="yellow" vlink="#FF8080"> <!-- あいうえおかきくけこさしすせそたちつてと IEが EUC を認識しないので、その対策です。(^_^; -->