Преимущества стихов ETags по обновлению URL - PullRequest
2 голосов
/ 15 декабря 2009

ETag позволяют браузерам выполнять условные GET. Только если рассматриваемый ресурс был изменен, его необходимо будет повторно загрузить. Однако браузер все еще должен ждать ответа сервера на его запрос.

Альтернативой ETags является добавление токена в URL, указывающий на ресурс:

http://example.com/css/styles.css?token=134124134

или

http://example.com/css/134124134/styles.css

Оба подхода позволяют избежать повторной загрузки неизмененного ресурса.

Однако использование URL-адресов с токенами позволяет серверу устанавливать заголовок истечения срока давности на ресурсе. Это позволяет сэкономить в обоих направлениях при помощи условного GET - если ресурс не изменяется, то URL-адрес, указывающий на него, не изменится.

Есть ли преимущества использования ETag по сравнению с URL-адресами с токенами?

Ответы [ 3 ]

2 голосов
/ 16 декабря 2009

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

Кроме того, подумайте обо всех промежуточных кешах, которые начнут хранить множество ненужных файлов.

Вы боретесь с сетью с помощью этого подхода, и если он станет популярным, то что-то придется изменить, потому что это не масштабируемое решение.

Может ли существовать какой-то гибридный подход, при котором вы используете ограниченный набор токенов и устанавливаете достаточно малый срок действия, чтобы срок действия старого кэшированного ресурса истек до повторного использования токена?

Etags также используются для ресурсов чтения-записи, и в этом случае я подозреваю, что решение с токенами просто не работает.

1 голос
/ 15 декабря 2009

Я думаю, что самая большая разница / потенциальное преимущество будет в конфигурации; Параметр URL должен быть настроен / настроен внутри приложения (например, HTML на самом деле должен включать значение). ETag настроены для всего веб-сервера, и HTML-код не нужно изменять, чтобы воспользоваться ими.

Кроме того, ETag будут (при условии, что они настроены правильно) изменяться, когда файл указывает на изменения; Добавление токена в URL потребует дополнительной «вещи», которая заставляет его измениться (либо человек, редактирующий HTML, либо какой-либо параметр конфигурации и т. Д.).

0 голосов
/ 15 декабря 2009

Есть постоянный URI?

...