2009-11-02 56 views
0

NSMutableURLRequest顯然會改變標題字段的大小寫。NSMutableURLRequest修改標題字段

例如,設置:

[request addValue:myValue forHTTPHeaderField:@"FOOBAR"]; 

將改變首部字段爲 「Foobar的」。

有人知道解決這個問題嗎?我正在使用需要傳遞區分大小寫字段的服務。

此外,NSMutableURLRequest不應該真的爲我做出決定。

回答

8

NSMutableURLRequest遵循RFC 2616 spec for HTTP/1.1它說:

字段名是不區分大小寫。

或者the documentation,它說:

在與HTTP RFC保持一致,HTTP報頭字段名不區分大小寫。

所以我們可以得出結論NSURLRequest實際上只是標準化頭字段的大小寫。多想它。 =)

看起來你運氣不好。

編輯:「我正在處理需要傳遞區分大小寫字段的服務。」由於HTTP/1.1協議將標頭字段名稱定義爲不區分大小寫,因此此服務正在破壞協議。互聯網已經充滿了例子,說明當公司和服務爲了自己的利益而忽略協議時會發生什麼。 (例如:曾經試圖編寫一個在Firefox和IE6中工作的網頁?)如果可以,我會避免使用這個服務,或者寫信給他們,讓他們知道他們在做什麼以及爲什麼這是錯誤的。

+1

是的,這聽起來很像這家公司會做的事情。非常感謝挖掘。 – Trevor