Загрузить уже работающий HTML-файл с сервера вместо кэша браузера

У меня есть живой сайт, но так как изменения всегда есть, мне нужно, чтобы пользователь просматривал последние HTML-файлы, то есть загружал файлы с сервера вместо кэша браузера.

Когда этот сайт заработал, я не знал о:

<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">

Я сделал свой сайт, используя HTML, CSS, jQuery и PHP, где это необходимо.

Что я могу сделать, чтобы сайт загружался прямо с сервера?

Всего 2 ответа


Я обновил HTML-код метатегами, но поскольку у меня уже есть страница в моем кэше, новый HTML-код (с метатегами) не работает. Я могу просто усиленно обновляться и работать, но пользователи не будут знать или делать это.

Если вам нужно заставить браузер каждого загружать обычную .html страницу, вы можете добавить заголовок «Cache-Control» в конфигурацию вашего веб-сервера:

Nginx

location ~* .(html)$ {
 add_header Cache-Control "no-cache, no-store";
}

апаш

<filesMatch ".(html)$">
    Header set Cache-Control "no-cache, no-store"
</filesMatch>

Однако, если изменение содержится в файле, который загружает ваша страница .html , например в .js .css вы можете использовать эту технику «очистки кэша»:

script.css?v=1.0 // This is the URL for release 1.0
script.css?v=1.1 // This is the URL for release 1.1
script.css?v=1.2 // etc.

Это заставит браузер загрузить новый файл.


<meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>

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


Есть идеи?

10000