2011-08-02 20 views
3

我的兩個軟件之間找到了一個bug,其中一個發射頭爲非文本媒體類型發送帶有Content-Type標題的字符集參數是否明確錯誤?

Content-Type: application/x-bittorrent; charset=utf-8 

,另一種是不正確處理,但如果charset參數被丟棄正確處理它。我需要知道哪個軟件要寫補丁!

按照W3C's website:使用HTTP發送

文檔是文本類型,例如text/html的,文本/無格式等,都可以在HTTP報頭髮送一個字符集參數來指定文檔的字符編碼。

這意味着不是文本類型的文檔不應該發送這個頭,我想。然而,RFC 2068規定:

的「字符集」參數與一些媒體類型來定義數據的字符集(第3.4節)

我不能在規範,它在任何地方找到將字符集參數添加到文本以外的其他媒體類型是不正確的,所以我的問題是:該軟件發出的這個頭文件是不正確的,還是軟件使用它?

+0

我發現第二塊軟件在消費方面「錯誤地」處理它,所以我傾向於將字符集包含在文本之外的其他類型。 W3C語言可能打算這樣做,特別是如果您將其作爲證明規則的例外來讀取它。但我不確定。 – ZoFreX

回答

3

(1)如果RFC 2616,2068不

(2)HTTP規範是正確的,這取決於媒體類型相關的規範。例如,您可以發送application/xml的字符集參數。

(3)關於應用程序/ x-bittorrent的不知道 - 它有規範嗎?

+0

糟糕,閱讀錯誤的規格!不過,它們在這個問題上是一樣的。 bittorrent文件格式確實有一個規範(可能不是官方規範),但我想知道任何非文本媒體類型的更一般情況。我認爲你的第二點是我正在尋找的答案,但它是在哪個類型可以具有字符集的地方定義的,還是它是所有的? – ZoFreX

+1

它取決於媒體類型,請參閱RFC 3023指定application/xml的實例。 –

-1

我認爲爲text/*媒體類型以外的任何其他字符添加charset參數是不正確的,因爲規範只允許爲此添加charset。

+1

指向一個權威的規範,禁止在非文本類型的字符集。 –

相關問題