3 回答

TA貢獻1871條經(jīng)驗 獲得超8個贊
如被定義在RFC 1341:
在RFC 822的擴展BNF表示法中,內(nèi)容類型標頭字段值定義如下:
Content-Type:=類型“ /”子類型* [“;” 參數(shù)]
類型:=“應用程序” /“音頻” /“圖像” /“消息” /“多部分” /“文本” /“視頻” / x令牌
x-token:= <兩個字符“ X-”后面沒有任何空格,中間沒有空格>
子類型:=令牌
參數(shù):=屬性“ =”值
屬性:=令牌
值:=令牌/帶引號的字符串
令牌:= 1 *
tspecials:=“(” /“)” /“ <” /“>” /“ @”; 必須在/“,” /“;”中 /“:” /“ \” / <“>;引號字符串,/” /“ /” [“ /”]“ /”?“ /”?!?在/” =“中使用;參數(shù)值
以及可以跟隨它的已知MIME類型的列表(或,如Joe所言,IANA源)。
如您所見,該列表太大了,您無法針對所有列表進行驗證。您可以做的是對照常規(guī)格式和type屬性進行驗證,以確保正確(選項集很?。⒓僭O其后的內(nèi)容正確(并且當然可以捕獲放置它時可能遇到的任何異常)實際使用)。
另請注意上面的評論:
如果出于任何原因要使用其他主要類型,則必須給它一個以“ X-”開頭的名稱,以指示其非標準狀態(tài),并避免與將來的正式名稱發(fā)生任何潛在沖突。
您會注意到,許多HTTP請求/響應都包含X-一些自定義的標頭,在驗證類型時請記住這一點。

TA貢獻1963條經(jīng)驗 獲得超6個贊
我的目的是覆蓋可能的“內(nèi)容類型”值的子集,您的問題似乎集中在識別已知的內(nèi)容類型上。
@Jeroen RFC 1341參考很棒,但是對于一個相當詳盡的列表,IANA 在此處保留了一個官方注冊媒體類型的網(wǎng)頁。
添加回答
舉報