.htaccess, YSlow и "Использовать без файлов cookie"
Одним из показателей YSlow является использование доменов без файлов cookie для обслуживания статических файлов.
"Когда браузер запрашивает статическую изображения и отправляет файлы cookie с помощью запроса сервер игнорирует печенье. Эти файлы cookie не нужны сетевой трафик. Чтобы обойти это проблемы, убедитесь, что статические компоненты запрашиваются с без файлов cookie , создавая субдомен и их размещение там." - Yahoo YSlow
Я интерпретирую это как означающее, что я мог бы получить повышение производительности, если я перейду на www.example.com/images на static.example.com/images.
Хотя это легко сделать, я бы потерял удобные возможности в моей системе управления контентом (Joomla/WordPress), чтобы легко ссылаться и ссылаться на эти изображения.
Можно ли использовать .htaccess для перенаправления всех запросов для определенной папки на www.example.com в папку на static.example.com? Будет ли этот метод также обмануть CMS, если подумать, что изображения были расположены в местах по умолчанию в собственном домене?
Ответы
Ответ 1
Можно ли использовать .htaccess для перенаправления всех запросов для конкретной папки на www.example.com в папку на static.example.com вместо этого?
Возможно, но счетчик производительности - клиент должен будет сделать HTTP-запрос, получить ответ перенаправления, а затем сделать еще один HTTP-запрос.
Это стоит намного больше, чем одна строка данных cookie, сохраненных!
Будет ли этот метод также обманывать CMS, думая о изображениях были расположены в местах по умолчанию в своем собственном домене?
Нет.
Ответ 2
Хотя это легко сделать, я бы потерять удобные возможности в моей система управления контентом (Joomla/WordPress), чтобы легко ссылаться и ссылку на эти изображения.
Что вы можете попытаться сделать, это создать плагин в Joomla, который динамически создает эти ссылки.
Например, у вас есть плагин, который, когда вы вводите {dinamic_path путь} в статье, добавляет 'static.example.com/images' к указанному пути. Итак, каждый раз, когда вам нужно изменить путь к серверу, вы просто изменяете плагин. Для ссылок, которые уже есть в базе данных, вы можете попробовать использовать phpMyAdmin для их изменения в этой структуре.
Он все еще теряет WYSIWYG hability в TinyMCE, но является альтернативой.
Ответ 3
Переадресация приведет к гораздо большему сетевому трафику и значительно большей задержке, чем просто оставить вещи такими, какие они есть.
Ответ 4
В теории вы можете создать виртуальный домен, который указывает прямо на папку с изображениями, например images.example.com. Затем в вашей CMS (надеюсь, на уровне темы) вы можете заменить любые пути, указывающие на папку с абсолютным путем на субдомен.
Ответ 5
Он перенаправит запрос, но клиент все равно отправит свои файлы cookie на сервер, так что вы действительно ничего не сделали. Вам придется напрямую обращаться к файлам из домена, который не хранит файлы cookie для его работы.
Ответ 6
Я сделал это ниже и добился успеха:
<FilesMatch "!\.(gif|jpe?g|png)$">
php_value session.cookie_domain example.com
</FilesMatch>
Это означает, что если вы не устанавливаете изображения в информации cookie.
Тогда изображения без файлов cookie с сервером.
Ответ 7
То, что вы действительно хотите сделать, это использовать staticexample.com/images вместо static.example.com/images, чтобы вы не выбрали файлы cookie в домене example.com, которые вы, возможно, установили. Если все, что вы делаете, это изображения сервера из этого домена с помощью простого сервера apache или что-то еще, вы можете настроить этот сервер, чтобы он не возвращал даже cookie сеанса.
Переадресация - очень плохая идея. Куки файлы вызывают некоторые хиты производительности, но круговые поездки на сервер, такие как перенаправление, вызывают гораздо более серьезную проблему с производительностью.