Я устанавливаю HTTP-соединение с веб-сервером IIS и отправляю запрос POST с данными, закодированными с помощью Transfer-Encoding: chunked. Когда я это делаю, IIS просто закрывает соединение без сообщения об ошибке или кода состояния. Согласно спецификации HTTP 1.1 ,
Все приложения HTTP / 1.1 ДОЛЖНЫ быть в состоянии принимать и декодировать "фрагментированное" кодирование передачи
поэтому я не понимаю, почему он (а) не обрабатывает эту кодировку и (б) не возвращает код состояния. Если я изменю запрос на отправку Content-Length, а не Transfer-Encoding, запрос будет выполнен успешно, но это не всегда возможно.
Когда я пытаюсь сделать то же самое с Apache, я получаю статус «Требуется 411 длина» и сообщение «chunked Transfer-Encoding запрещено».
Почему эти серверы не поддерживают эту кодировку?