Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите разобраться с кэшем скрипта (php+apache)
|
|||
|---|---|---|---|
|
#18+
Суть такая: написал скриптик lib.php, который по параметру ?lib=name читает для заданной библиотеки файлы и отдает их как один. Ну, например, lib.php?lib=java собирает все заданные .js скрипты (jquery.js, и т.п.) и выдает клиенту как один файл. Так же отдаются стили lib.php?lib=css. Соответственно, на странице клиента они подключаются как: Код: html 1. Хочу чтобы эти библиотеки кэшировались браузером клиента. В php кэширование отключено. В lib.php кэширование включаю: Код: php 1. 2. 3. Также смотрю, если пришел хэдер "If-Modified-Since", то сверяю дату модификации файлов библиотеки и, если они не изменились, отдаю: Код: php 1. где $time - время изменения библиотеки Далее, проверяю в firefox + firebug. Гружу страницу первый раз, фаербаг показывает два сетевых запроса - страница, и lib.php. Все ок, делаю рефреш. Фаербаг опять поаказывает два запроса: страница (перезагружается) и lib.php (пишет 304 Not Modified). Вроде бы, можно радоваться, да вот хрен. Смотрю логи апача: для lib.php отправляется 2 запроса - первый: Код: php 1. 2. и за ним сразу второй: Код: php 1. 2. Что за хрень? Зачем он запрашивает файл, если он не изменился? Спасите-помогите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2015, 16:43 |
|
||
|
Помогите разобраться с кэшем скрипта (php+apache)
|
|||
|---|---|---|---|
|
#18+
Нафига так сложно? Скриптом один раз (при изменении какого-то файла группы) собираете результирующий файл и кладёте его в файловую систему. Клиент пусть его и запрашивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2015, 16:53 |
|
||
|
Помогите разобраться с кэшем скрипта (php+apache)
|
|||
|---|---|---|---|
|
#18+
DeviLooperЧто за хрень? Зачем он запрашивает файл, если он не изменился? Спасите-помогите значит насрано где-то по обрывкам заголовков понять трудно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2015, 17:00 |
|
||
|
Помогите разобраться с кэшем скрипта (php+apache)
|
|||
|---|---|---|---|
|
#18+
vkleНафига так сложно? Ну так универсальнее. У меня несколько разных библиотек, которые подключаются на разных страницах в зависимости от необходимости. И, соответственно, обновляться и проверяться они будут только при запросе. А если делать фиксированные файлы, то придется проверять все библиотеки все время, а это дольше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2015, 17:08 |
|
||
|
Помогите разобраться с кэшем скрипта (php+apache)
|
|||
|---|---|---|---|
|
#18+
Смешно, но похоже, что виной всему оказался firebug. Отключил его - и вторичные запросы прекратились. Теперь все работает как надо. Можно закрывать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2015, 17:34 |
|
||
|
Помогите разобраться с кэшем скрипта (php+apache)
|
|||
|---|---|---|---|
|
#18+
DeviLooperНу так универсальнее.В какой-то мере, да. Только у любой универсальности есть обратная сторона то в виде монструозности, то тормозов, то сложностей реализации... DeviLooperУ меня несколько разных библиотек, которые подключаются на разных страницах в зависимости от необходимости. И, соответственно, обновляться и проверяться они будут только при запросе. А если делать фиксированные файлы, то придется проверять все библиотеки все время, а это дольше.Не надо ничего проверять. Достаточно при изменении одного файла перегенерировать все результирующие, куда он входит. Другой вопрос, есть ли у Вас карта вхождений изменённого файла в результирующие... PS: Не уверен, что есть какой-то большой смысл плодить множество наборов файлов с различными сочетаниями компонентов. ИМХО для большинства случаев достаточно одного или двух с относительно неизменными (широко распространённые библиотеки, вроде jquery + плагины) скриптами и одного с основным набором пользовательских скриптов. Остальнвя мелочёвка, которая требуется не часто, нехай дёргается сама по себе, без интеграции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2015, 17:40 |
|
||
|
Помогите разобраться с кэшем скрипта (php+apache)
|
|||
|---|---|---|---|
|
#18+
vkleDeviLooperНу так универсальнее.В какой-то мере, да. Только у любой универсальности есть обратная сторона то в виде монструозности, то тормозов, то сложностей реализации... Да нет, библиотеки и ривязанные к ни файлы в удобном массивчеке хранятся, сами библиотеки кэшируются на сервере (если файлы не изменялись, будет отдаваться кэш). Просто сейчас во время отладки/разработки много чего меняется/дополняется, поэтому выбрал такой вариант. Ну не суть, меня тут другой вопрос мучал ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2015, 17:52 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=39073569&tid=1461485]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 382ms |

| 0 / 0 |
