Content-Type
HTTPリクエストに渡す前にヘッダー値を検証する必要があります。
のすべての可能な値の特定のリストはありますContent-Type
か?
それ以外の場合、HTTPリクエストで使用する前にコンテンツタイプを検証する方法はありますか?
Content-Type
HTTPリクエストに渡す前にヘッダー値を検証する必要があります。
のすべての可能な値の特定のリストはありますContent-Type
か?
それ以外の場合、HTTPリクエストで使用する前にコンテンツタイプを検証する方法はありますか?
回答:
ここですべてのコンテンツタイプを見つけることができます:http : //www.iana.org/assignments/media-types/media-types.xhtml
最も一般的なタイプは次のとおりです。
タイプアプリケーション
application/java-archive
application/EDI-X12
application/EDIFACT
application/javascript
application/octet-stream
application/ogg
application/pdf
application/xhtml+xml
application/x-shockwave-flash
application/json
application/ld+json
application/xml
application/zip
application/x-www-form-urlencoded
音声を入力
audio/mpeg
audio/x-ms-wma
audio/vnd.rn-realaudio
audio/x-wav
画像を入力
image/gif
image/jpeg
image/png
image/tiff
image/vnd.microsoft.icon
image/x-icon
image/vnd.djvu
image/svg+xml
タイプマルチパート
multipart/mixed
multipart/alternative
multipart/related (using by MHTML (HTML mail).)
multipart/form-data
テキストを入力
text/css
text/csv
text/html
text/javascript (obsolete)
text/plain
text/xml
タイプビデオ
video/mpeg
video/mp4
video/quicktime
video/x-ms-wmv
video/x-msvideo
video/x-flv
video/webm
vndと入力します。
application/vnd.android.package-archive
application/vnd.oasis.opendocument.text
application/vnd.oasis.opendocument.spreadsheet
application/vnd.oasis.opendocument.presentation
application/vnd.oasis.opendocument.graphics
application/vnd.ms-excel
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
application/vnd.ms-powerpoint
application/vnd.openxmlformats-officedocument.presentationml.presentation
application/msword
application/vnd.openxmlformats-officedocument.wordprocessingml.document
application/vnd.mozilla.xul+xml
RFC 822の拡張BNF表記では、Content-Typeヘッダーフィールド値は次のように定義されています。
Content-Type:=タイプ "/"サブタイプ* [";" パラメータ]
type:= "application" / "audio" / "image" / "message" / "multipart" / "text" / "video" / x-token
x-token:= <2つの文字「X-」の後に空白を入れずにトークンを続けた>
サブタイプ:=トークン
パラメータ:=属性 "="値
属性:=トークン
値:=トークン/引用文字列
トークン:= 1 *
tspecials:= "(" / ")" / "<" / ">" / "@"; / "、" / ";"にある必要があります / ":" / "\" / <">;引用符付き文字列、/" / "/" ["/"] "/"? "/"。 "; /" = "内で使用する;パラメータ値
そして、それに従うことができる既知のMIMEタイプのリスト(または、Joeが述べたように、IANAソース)。
ご覧のとおり、リストは大きすぎてすべてに対して検証することはできません。あなたができることは、一般的なフォーマットとtype
属性に対して検証してそれが正しいことを確認し(オプションのセットは小さい)、それに続くものが正しいと仮定するだけです(もちろん、それを置くときに発生する可能性のある例外をすべてキャッチします)実際の使用に)。
上記のコメントにも注意してください:
何らかの理由で別のプライマリタイプを使用する場合は、「X-」で始まる名前を付けて、その非標準のステータスを示し、将来の公式名との潜在的な競合を回避する必要があります。
多くのHTTP要求/応答には、X-
自己定義されたある種のヘッダーが含まれていることに気づくでしょう。タイプを検証するときは、このことに留意してください。
私は可能な「コンテンツタイプ」値のサブセットをカバーすることを目指していますが、あなたの質問は既知のコンテンツタイプの識別に焦点を当てているようです。
@Jeroen RFC 1341リファレンスは素晴らしいですが、かなり網羅的なリストとして、IANAは公式に登録されたメディアタイプのWebページをここに保持しています。