Я вас уже давно понял и сказал спасибо.
Теперь поймите меня что мне не просто надо писать 001 и 002
мне нужно писать информацию о содержимом и изменении этого содержимого
в статье я предлагаю писать время модификации
хотя я понимаю метод не мой, это не я предлагаю, это уже давно придумано и используется
я лишь написал об этои на хабре
По большому счёту ничего. Но с другой стороны нечего ему знать админское API, мало ли где-то вход забыл заварить.
А вообще это пошло с одного сайта, не буду называть его вслух. Через админку он мог увидеть, что на сайте работают боты и им бы это крайне не понравилось.
Если у тебя интернет 5Кб/c, то у тебя нету выбора.
А вообще я сейчас внимательно посмотрел картинку, страница загрузилась за 405 мс, а потом пока я делал скрин, прошло два запроса, данные подтянуло, ещё что там было, и 7 секунд — это результат 3 запросов с перерывом между ними.
За подсказку спасибо. Но, если быть внимательнее, физическое имя файла я не меняю.
Имя я формирую при рендинге, а дату модификации (чтобы получить оригинальный файл), отсекаю в хэндлере.
Единственное, хэндлер можно выкинуть, и отсечение делать просто через url rewrite, если он не выполняет других функций.
Но всё равно остаётся часть с получением уникального идентификатора файла.
Спасибо.
Вообщем, действительно, handler можно выкидывать. Хотя я до этого использовал его с целью проверки прав на доступ. А тут он просто мне пригодился.
Страница не главная, а из админки. Специально выбрал с кучей скриптов.
Сама страница HTML 33Кб, грузилась 255мс.
А вообще это очень топорный интернет, как видишь там всего 365Кб в сумме (вместе с графикой).
Но даже с ним при втором заходе выдал за 7с.
А вообще такой интернет, позволяет писать быстрые приложения, потому что для себя стараешься ;-)
Номер ревизии применяется ко всем файлам, даже тем, которые не изменились?
Не понимаю зачем делать другое имя файла, ведь можно просто добавить параметр Scripts/core.js?633675510761.
Не буду повторятся, на это замечание я уже дважды отвечал. К тому же изначально я написал и такой вариант. Наверное моя ошибка, что в самом конце… Надо будет занести повыше.
Чтобы это работало написан небольшой скрипт на php, который проходит по всем шаблонам и там делает нужные подстановки.
Не знаком с PHP. Возможно, там это действительно решается гораздо проще, только я редко вижу такое решение.
Я уже ответил выше, что при таком подходе мы грузим скрипты на страницу, где они не нужны.
Получается, чтобы загрузить первую страницу, он будет грузить скрипты для остальных страниц.
Может не дождаться и уйти. Тогда смысл в оптимизации.
Согласен в том, что это для сайтов-визиток из 1-2 страниц, но тогда и какие там могут быть сложные скрипты?
Тогда встаёт другая проблема.
Зачем мне скрипты на страницы, которые на ней не используются.
Я имею ввиду, если запихивать все скрипты в один пакет, тогда зачем мне там код TabControl'а, которого на странице нет.
Если запихивать только те скрипты, что есть на странице, тогда получается пользователь на каждой странице будет качать разные пакеты, в которых половина уже скачанных скриптов.
В моём случае, пока он пройдёт по главной и логину, основные скрипты будут скачаны, а дальше по 2-3 специфичных для отдельных страниц.
Теперь поймите меня что мне не просто надо писать 001 и 002
мне нужно писать информацию о содержимом и изменении этого содержимого
в статье я предлагаю писать время модификации
хотя я понимаю метод не мой, это не я предлагаю, это уже давно придумано и используется
я лишь написал об этои на хабре
А вообще это пошло с одного сайта, не буду называть его вслух. Через админку он мог увидеть, что на сайте работают боты и им бы это крайне не понравилось.
Если пользователю не нужны мои даты, зачем ему твои md5?
А вообще я сейчас внимательно посмотрел картинку, страница загрузилась за 405 мс, а потом пока я делал скрин, прошло два запроса, данные подтянуло, ещё что там было, и 7 секунд — это результат 3 запросов с перерывом между ними.
365Кб страницы для тебя много?
Вместо звёздочки, я использую дату модификации.
И то это сделано для того, чтобы каждый раз не дёргать жёсткий диск для выяснения о модификации файла.
А вы предложили то же самое, только медленнее.
Вам также надо каждый раз считать md5, или однажды просчитать его «копанием в цикле», что куда выгоднее.
А монитор сделан для того, чтобы если вдруг понадобится изменить скриптовый файл, не перегружать для этого приложение.
Имя я формирую при рендинге, а дату модификации (чтобы получить оригинальный файл), отсекаю в хэндлере.
Единственное, хэндлер можно выкинуть, и отсечение делать просто через url rewrite, если он не выполняет других функций.
Но всё равно остаётся часть с получением уникального идентификатора файла.
Вообщем, действительно, handler можно выкидывать. Хотя я до этого использовал его с целью проверки прав на доступ. А тут он просто мне пригодился.
Сама страница HTML 33Кб, грузилась 255мс.
А вообще это очень топорный интернет, как видишь там всего 365Кб в сумме (вместе с графикой).
Но даже с ним при втором заходе выдал за 7с.
А вообще такой интернет, позволяет писать быстрые приложения, потому что для себя стараешься ;-)
Не буду повторятся, на это замечание я уже дважды отвечал. К тому же изначально я написал и такой вариант. Наверное моя ошибка, что в самом конце… Надо будет занести повыше.
Не знаком с PHP. Возможно, там это действительно решается гораздо проще, только я редко вижу такое решение.
В любом случае, спасибо за комментарий.
Получается, чтобы загрузить первую страницу, он будет грузить скрипты для остальных страниц.
Может не дождаться и уйти. Тогда смысл в оптимизации.
Согласен в том, что это для сайтов-визиток из 1-2 страниц, но тогда и какие там могут быть сложные скрипты?
Я очень рад что кому-то пригодилось.
Решение для меньшего количества строк предложено в концовке.
А так я раскрыл тему изюминки, обработчика JS-файла и монитора файловой системы.
А вот модифицировать имя загружаемого скрипта под силу каждому.
Хотя бы проставить *.js?v=32432454
Зачем мне скрипты на страницы, которые на ней не используются.
Я имею ввиду, если запихивать все скрипты в один пакет, тогда зачем мне там код TabControl'а, которого на странице нет.
Если запихивать только те скрипты, что есть на странице, тогда получается пользователь на каждой странице будет качать разные пакеты, в которых половина уже скачанных скриптов.
В моём случае, пока он пройдёт по главной и логину, основные скрипты будут скачаны, а дальше по 2-3 специфичных для отдельных страниц.