Категорически неправильно отправлять параметр charset с заголовком Content-Type для нетекстовых типов мультимедиа? - PullRequest
3 голосов
/ 02 августа 2011

Я обнаружил ошибку между двумя частями программного обеспечения, один из которых испускает заголовок

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

А другой обрабатывает это неправильно, но обрабатывает его правильно, если параметр charset сброшен,Мне нужно знать, для какого программного обеспечения нужно написать патч!

Согласно веб-сайту W3C :

Документы, передаваемые по протоколу HTTP, имеют текстовый тип, напримеркак text / html, text / plain и т. д., можно отправить параметр charset в заголовке HTTP, чтобы указать кодировку символов документа.

Это означает, что документы не текстового типа не должны отправлятьэтот заголовок, я думаю.Однако RFC 2068 гласит:

Параметр «charset» используется с некоторыми типами носителей для определения набора символов (раздел 3.4) данных

Я не могу найтигде-нибудь в спецификации, что неправильно добавлять параметр charset к типам мультимедиа, кроме текста, поэтому мой вопрос: программное обеспечение, испускающее этот заголовок, неправильно, или программное обеспечение, потребляющее его?

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

(1) Соответствующая спецификация, если RFC 2616, а не 2068.

(2) Спецификация HTTP верна, зависит от типа носителя. Например, вы можете отправить параметр charset для application / xml.

(3) Не знаю о приложении / x-bittorrent - есть ли у него спецификация?

0 голосов
/ 21 октября 2011

Я думаю, что некорректно добавлять параметр charset для чего-либо, кроме text / * media-type, поскольку спецификация разрешает добавлять только charset для этого.

...