2009-11-02 2 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

Смежные вопросы