При добавлении ETag к HTTP-ответу следует ли указывать тип носителя? Конечно, я понимаю, что ETag непрозрачен, но вот пример:
- Скажем, у меня есть клиент, который запрашивает пользователя в приложении / json. Я смотрю его, создаю свой ETag и отправляю обратно JSON-представление человека
- Теперь тот же клиент делает другой запрос для того же человека (который не был изменен) по тому же URI, но хочет его в application / xml.
Ясно, что некорректно просто возвращать 304, но мой вопрос, во втором запросе, можно ли ожидать совпадения ETag, но без кеша на основе заголовка Accept (или заголовка содержимого). Кроме того, возможно ли, что кэш будет иметь два представления из одного и того же URI, или у вас всегда будет неверный кэш каждый раз, когда ваш Content-Type переключается?