Java: процедура для правильного цитирования ETag?

Есть ли какой-либо метод, который уже реализует правильное цитирование ETag для заголовков http?

Как указано в Синтаксис для ETag?, правильный способ не так тривиален, как заключение вокруг него двойных кавычек.

Ничего внятного не нашел.


person user1050755    schedule 19.10.2017    source источник


Ответы (2)


Это вводит в заблуждение. Кавычки являются неотъемлемой частью ETag, поэтому нет перехода от «ETag ​​без кавычек» к «ETag ​​в кавычках».

Если то, что вам нужно, это способ включения символов, не разрешенных в ETags, вы просто изобретете собственный синтаксис экранирования. Какой из них не имеет значения, потому что ваш сервер их производит и потребляет, а для клиентов они полностью непрозрачны.

person Julian Reschke    schedule 19.10.2017

Этот ответ основан на предыдущей версии спецификации ETag. Текущий (RFC 7232) явно запрещает использование двойных кавычек символ внутри непрозрачного ETag.

Итак, если предположить, что непрозрачная часть вашего ETag действительна в соответствии с RFC 7232, это действительно так же просто, как заключить ее в двойные кавычки.

Тем не менее, я рекомендую вместо этого требовать от того, кто предоставляет ETag, включать двойные кавычки. Это потому, что они необходимы для различения слабых ETag. Без них вы остаетесь с более сложным API или, что чаще всего, вообще без возможности указать слабые ETags.

person Kevin Christopher Henry    schedule 19.10.2017