Javascript файл не кэшируется? - PullRequest
0 голосов
/ 26 июля 2010

Я пытаюсь оптимизировать свое веб-приложение, и, к сожалению, в результате получился файл javascript размером около 450 Кб - что тоже после сжатия [мне потребуется некоторое время, чтобы повторить javascripting, но до этого мне придется начать работу ] - Я изначально создал несколько небольших библиотек JavaScript для работы. И что я делаю, у меня есть php-файл, который включает в себя все файлы javascript, а затем я включил свой php-файл, как показано ниже:

<script language="js/js.php"></script>

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

Ответы [ 2 ]

4 голосов
/ 26 июля 2010

Вам нужно установить несколько заголовков в php, чтобы обеспечить кэширование файла.

В верхней части js.php поместите:

ob_start("ob_gzhandler");

$expires = 2678400; // 1 month in seconds
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');

Это добавит как базовое кэширование+ сжатие gzip на лету.

0 голосов
/ 26 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...