ETag или хеш в ресурсах URL например. JS, CSS, изображение - PullRequest
1 голос
/ 26 июня 2011

Я хочу убедиться, что ресурсы в веб-приложении (css, js и images) будут обновляться каждый раз, когда я меняю их, оставляя одно и то же имя ресурса (чтобы мне не нужно было менять ссылки в html на него).Поэтому я думаю, что есть как минимум два очевидных решения:

  1. Включить ETAG в заголовок ответа
  2. Включить хэш в URL (т. Е. /Css/ndomhash enj/style.css)

Мне больше понравилась вторая идея, потому что, возможно, некоторые старые прокси или браузер игнорировали бы etag - это правильно?Но немного сложнее поместить хеши в url изображений в css.Итак, наконец, я думаю, что я пойду с первым вариантом для изображений, и первым и вторым для CSS и JS.

Какие у вас мысли?Сначала этого будет достаточно, и каждое довольно современное программное обеспечение будет запрашивать обновление ресурса, если он изменится.

Ответы [ 2 ]

0 голосов
/ 26 июня 2011

По моему опыту, браузер / прокси-сервер обычно уважает etag.Однако, как правило, я обнаружил, что мне нужно также установить последнее изменение.Также убедитесь, что etag сформирован правильно, так как некоторые браузеры требовательны к этому.

0 голосов
/ 26 июня 2011

Что касается второго, вы можете использовать правило переписывания Apache для достижения этой цели.Я предполагаю, что вы можете хешировать дату изменения / создания файла с любым языком программирования, который вы используете.

.htaccess

RewriteEngine на RewriteBase / RewriteRule ^ css / [^ /] + / style.css $ css / style.css [L]

...