Задать вопрос
@Sparkis
PHP Developer

Правильно ли я делаю с подгрузкой JS|CSS через php?

Изначально моя структура сайта состоит из двух корневых директорий, в одной из которых хранятся файлы недоступные пользователю напрямую из веб брайзера, т.е. core файлы и файлы доступные через веб, т.е. public файлы.

На данный момент я храню свои CSS/JS в public директории и подгружаю их стандартными методами. Что бы уменьшить деление директорий и доступной пользователю в public информации хочу перенести всё это дело в core директорию и оттуда цеплять уже их при помощи php точки входа.

Но читая в интернете статьи по этому методу выяснил дополнительно как плюсы, так и минусы.
Плюсами является:
1. Недоступность файлов напрямую.
2. Подгрузка только тех файлов, что нужные на данный момент.
3. Уменьшение HTTP запросов.
Минусы же:
1. Отсутствие кеширования.

Вот этот единственный минус меня напряг тем фактом, что если пользователь посетит 10 разных страниц, то ему 10 раз загрузится одно и тоже.

Поковырялся еще и нашел, что точку входа так же можно заставить кешироватся. И нашел соответствующие HTTP заголовки, например:
Cache-Control: no-transform,public,max-age=300,s-maxage=900
.

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

UPD: А может взять и компилировать JS/CSS файлы в один CSS и JS файл соответственно перед публикацией сайта и скармливать уже эти минифицированные файлы одной кучей стандартным уже способом?
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@qid00000000
Мало что знаю, но информацию найду в гугле
Добавь к запросу статики GET параметр с версией: например: https://some.site/some_uri?version=1.1

Меняя значение версии, вы можете игнорировать кеш у пользователя. Лучше всего, кеш не ставить больше месяца.


На данный момент я храню свои CSS/JS в public директории и подгружаю их стандартными методами. Что бы уменьшить деление директорий и доступной пользователю в public информации хочу перенести всё это дело в core директорию и оттуда цеплять уже их при помощи php точки входа.


Их и нужно подгружать статндартными методами, незачем костылить PHP скрипты. Чем сложнее система, тем проще её сломать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы