Я работаю над новым API. При включенном ETags Chrome всегда условно дает ресурс с длительным сроком службы кеша, то есть Chrome больше не использует кешированную версию без предварительного подтверждения ETag.Клиент с ETag всегда выполняет условный GET
Это как ETags предполагается работать с GET?
Если это так, и если учесть, что я не нуждаюсь в них для проверки проверки обновлений, я удалю ETags и уменьшу дополнительную работу, выполняемую моим сервером.
Редактировать
я ожидал бы Chrome использовать кэшированные пункт в зависимости от максимального возраста до тех пор, пока не истечет, а затем использовать условный GET, чтобы обновить кэшированные-элемент.
Поскольку я пишу это, мне теперь пришло в голову, что он не сможет «обновить свой кеш-элемент», поскольку 304 не содержит максимального возраста для продления срока действия.
Таким образом, я думаю, что с включенным ETags клиент всегда будет условно GET, если нет веской причины использовать кешированную версию, например, сеть.
Таким образом, кажется, что ETags вредит производительности сервера, если не требуется управление параллелизмом.
Редактировать
Я думаю, что я уже угадал ответ (выше), но вот вопрос в двух словах:
Когда ETags включена, и Max-Age далеко в будущем, должны ли пользовательские агенты всегда использовать условный GET вместо использования ранее кэшированного, нового ответа?
Вы могли бы привести пример? –
Хмм, я не уверен, что смогу. Это скорее поток, который случается, чем проблема, которая может быть проиллюстрирована в коде. –