Кодировка содержимого HTTP, base64

Есть ли способ узнать, закодировано ли тело сообщения HTTP-ответа с помощью Base64?

Я узнал, что кодирование передачи содержимого не является частью HTTP-заголовка.

Итак, какой заголовок HTTP указывает, что контент закодирован с помощью Base64? Я думаю, что Content-encoding используется только для сжатия.


person Anant    schedule 07.11.2012    source источник
comment
Я думаю, что эта тема похожа на то, что вы ищете security.stackexchange.com/questions/3989/   -  person e1on    schedule 07.11.2012
comment
почему вы все равно хотите кодировать в base64?   -  person Julian Reschke    schedule 07.11.2012
comment
Я прокси и хочу проверить трафик. Я полностью намерен увидеть HTTP-пакет, проверить, закодирован ли контент или нет.   -  person Anant    schedule 07.11.2012
comment
Анант: итак, ответ таков: в HTTP нет ничего специфичного для base64   -  person Julian Reschke    schedule 07.11.2012
comment
Более конкретно: параметр кодирования содержимого base64 не зарегистрирован ; вам не нужно ни ожидать, ни реализовывать его. Если заголовок Content-Encoding-header отсутствует, вы можете предположить, что данные в теле сообщения передаются как есть.   -  person CodeCaster    schedule 07.11.2012


Ответы (1)


Насколько я понимаю, тело HTTP не может быть закодировано в Base64:

HTTP не использует поле Content-Transfer-Encoding (CTE) в RFC 2045. Прокси-серверы и шлюзы из MIME-совместимых протоколов в HTTP ДОЛЖНЫ удалить любую неидентификационную кодировку CTE («цитируемая печать» или «base64»). перед доставкой ответного сообщения HTTP-клиенту.

Личность:

Кодировка по умолчанию (идентификационная); использование без каких-либо преобразований.

Конечно, вам разрешено транспортировать данные в кодировке Base64 с помощью HTTP, но это должно быть согласовано обеими сторонами (клиентом и сервером), и, похоже, не существует заголовка для описания этого поведения.

person CodeCaster    schedule 07.11.2012
comment
То же самое и со старыми версиями HTTP? - person Anant; 07.11.2012
comment
Анант: да, в HTTP никогда не было base64 - person Julian Reschke; 07.11.2012
comment
@Anant вы говорите в комментарии под своим вопросом, что реализуете HTTP-прокси. Если вы это сделаете, я полагаю, вы знаете свой путь к HTTP и связанным с ним RFC. Тот же текст присутствует в HTTP / 1.0 RFC, а также в HTTP / 1.1 RFC. - person CodeCaster; 07.11.2012