NSMutableURLRequest, изменяющий поля заголовка

NSMutableURLRequest явно меняет регистр в полях заголовка.

Например, установка:

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

изменит поле заголовка на «Foobar».

Кто-нибудь знает способ обойти это? Я работаю со службой, которая требует передачи чувствительного к регистру поля.

Кроме того, NSMutableURLRequest не должен принимать решение за меня.


person Trevor    schedule 02.11.2009    source источник


Ответы (1)


NSMutableURLRequest соответствует спецификации RFC 2616 для HTTP/1.1, в которой говорится:

Имена полей нечувствительны к регистру.

Или документация, в которой говорится:

В соответствии с HTTP RFC имена полей заголовков HTTP нечувствительны к регистру.

Таким образом, мы можем сделать вывод, что NSURLRequest на самом деле просто стандартизирует использование заглавных букв в полях заголовка. Как продуманно. знак равно

Похоже, вам не повезло.

Изменить: «Я работаю со службой, которая требует передачи чувствительного к регистру поля». Поскольку протокол HTTP/1.1 определяет имена полей заголовков как нечувствительные к регистру, эта служба нарушает протокол. Интернет уже полон примеров того, что происходит, когда компании и сервисы пытаются игнорировать протокол в своих интересах. (Пример: вы когда-нибудь пытались написать веб-страницу, которая работает в Firefox и IE6?) Я бы не стал пользоваться этой службой, если бы вы могли, или написал бы им, чтобы они знали, что они делают и почему это неправильно.

person Dave DeLong    schedule 02.11.2009
comment
Да, это очень похоже на то, что сделала бы эта компания. Ну спасибо за копание. - person Trevor; 02.11.2009