Как заставить браузер забирать js из кэша ?

Vlad Z

Guest
Как заставить браузер забирать js из кэша ?

Всем всего наилучшего.
Приличное меню на js само весит 25-30 КБ и при перезагрузке страницы тащится с cервера, а вот картинки из кэша браузера беруться. Так и должно быть, или это настройки бродилки влияют ? И если это как то можно регулировать - то как ?
Влад
 

Crazy

Developer
Есть мнение, что любой файл кэшируется в зависимости от заголовков, которые посылает сервер. Это в полной степени касается JS и не имеет прямой связи со статичностью JS.
 

Vlad Z

Guest
Меню генерится php, но как раз самый большой файл - setup.js статический. И какие заголовки прописывать, чтоб он брался из кэша браузера?
Благодарю откликнувшихся.
Влад
 

Crazy

Developer
Нужно указать:

Expires -- чтобы браузер знал, когда обновить закэшированную версию.

Last-Modified -- чтобы браузер знал, что у него лежит в кэше актуальная версия.

Также стоит почитать про Cache-Control, но первых двух заголовков обычно достаточно.
 

Дед Анвирыч

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

Дед Анвирыч

Новичок
здрати!
Т.е. если я генерю html и не парюсь насчет картинок, которые туда включил, то выходит, что картинки кешироваться не будут?
Так чтоли выходит?
 

Crazy

Developer
Это значит, что за тебя парится сервер, который отдает заголовки по своему усмотрению.
 

Crazy

Developer
:)

Дома сделай скрипт, выдающий заголовки с запретом кэширования (одни и те же) и любой контент (константный) и по логам сервера посмотри, будет ли он с энного раза брать контент из кэша. :)
 

Crazy

Developer
Что делал? Выставлял флэшке заголовки с запретом кэширования? Прости -- не верю.
 

DiMA

php.spb.ru
Команда форума
1. файлы подключаемые по <script src=.. > всегда кешиюруются без проверки обнолевния (<link style> кешируется, но с прореркой). Отрываем логи и убеждаемся.

2. чтобы заставить их надежно кероваться, выдавай их своим php

3. чтобы стили тоже кешировались (ускорение работы сайта), подключай их через <scrip src=>.
 

Crazy

Developer
Автор оригинала: DiMA
1. файлы подключаемые по <script src=.. > всегда кешиюруются без проверки обнолевния
Проверено -- не совсем так. :) Опять же никакой мистики: если выдавать в заголовках запрет кэширования, то кэшироваться не будет. Я этим в одном проекте активно пользуюсь...
 

chaos

Guest
В принципе, это устанавливается в .htacces... Сервер выдаёт заголовок Not Modified и всё...
 

Crazy

Developer
Если выдать разумный Expires, то браузер не должен даже пытаться проверить раньше времени, modified оно или нет.

Так?
 
Сверху