1

Сегодня я хотел использовать заголовок Accept-Encoding, чтобы запросить изображение как base64. Приходите, чтобы узнать, спецификация XMLHttpRequest предотвращает настройку этого заголовка!Почему спецификация XMLHttpRequest запрещает установку заголовка Accept-Encoding?

http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method

Примечание: Вышеуказанные заголовки контролируются агентом пользователя, чтобы позволить ей контролировать эти аспекты транспорта. Это гарантирует целостность данных в некоторой степени. Заголовки заголовков, начинающиеся с Sec, не могут быть настроены так, чтобы можно было отчеканить новые заголовки, которые, как гарантируется, не будут получены из XMLHttpRequest.

Почему в мире они будут писать такую ​​спецификацию? Было бы более разумно, если бы браузер предоставил значение по умолчанию (например, gzip,deflate,sdch), если ни один не был указан.

ответ

1

Браузер несет ответственность за принятие и обработку ответа. Было бы бессмысленно манипулировать вашим XHR, чтобы сказать, что он принимает gzip, например, когда вы ничего не могли с этим поделать. Можете ли вы просто задать собственное значение заголовка?

+0

Спасибо! Я надеялся, что есть лучшая причина, но я полагаю, что это имеет смысл. –

+2

имеет смысл, если кодировка, поддерживаемая браузером, несовместима с требованиями сценария ... например, длина контента не отправляется (даже по запросу HTTP HEAD), если gzip включен с Accept-Encoding .. таким образом, мой сценарий бесполезен, пока я не найду удобную работу. Я был удивлен тем, как бесполезный HTTP HEAD находится в этом контексте. – user3338098

+1

^Это именно то, с чем я стучу головой. :( – eltiare

0

Почему в мире они будут писать такую ​​спецификацию?

Одним словом: laziness.

Зачем добавлять дополнительные семантики, описывающие безопасное предсказуемое поведение браузера для каждого возможного заголовка, который будет использоваться только несколькими людьми, такими как мы, когда они могут просто объявить все заголовки запрещенными в одном абзаце.

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