если у меня есть кодированные данные utf-8, безопасно ли отправлять их в тело HTTP? Дело в том, что данные utf-8 могут включать контрольные символы, включая нулевой символ (двоичный ноль), которые, конечно, не разрешены с помощью http RFC. Так что делать с такими данными? Кодировать их с base64?Является ли utf-8 безопасным для http?
С другой стороны, данные, которые у меня есть в utf-8, - это спецификация XML и XML, запрещает использование специальных символов (http://www.w3.org/TR/2006/REC-xml-20060816/# charsets) ...
Так что я думаю, что utf-8 небезопасен, но XML в utf-8 безопасен и может быть непосредственно встроен в тело http, например в MIME многоцелевой корпус без необходимости делать что-то наподобие quoted-printable кодирование.
BR Sten
utf-8 не имеет 0x00 – Andrey
Привет Уильям, спасибо за ответ - Не знаю, почему я думал, что тело HTTP не допускает специальных символов ... Я идиот. Это делает мой вопрос неуместным. Большое спасибо за ответ! – STeN
Привет, Андрей, utf-8 фактически разрешает все специальные символы ASCII ... Проверьте это RFC 3629, в котором говорится: «... символы US-ASCII закодированы в одном октете, имеющем нормальное значение US-ASCII ...» Это делает utf -8 обратная совместимость ... BR – STeN