3 回答

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

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