.htaccess, YSlow и " использовать домены без cookie"

одним из измеримых YSlow является использование доменов без файлов cookie для обслуживания статических файлов.

", когда браузер запрашивает статический изображение и отправляет cookies с запрос, сервер игнорирует cookies. Эти файлы не нужны сетевой трафик. Чтобы обойти это проблема, убедитесь, что static компоненты предлагается с печенье-бесплатные запросы создать поддомен и хостинг их там." -- Мужлан YSlow

я интерпретирую это как то, что я могу испытать повышение производительности, если я двигаюсь www.example.com/images до static.example.com/images.

хотя это легко сделать, я бы потерял удобную способность в моей системе управления контентом (Joomla/WordPress) легко ссылаться и ссылаться на эти изображения.

можно ли использовать .htaccess для перенаправления всех запросов для определенной папки на www.example.com в папку static.example.com? Будет ли этот метод также обманывать CMS, думая, что изображения расположены в местоположениях по умолчанию в своем собственном домене?

7 ответов


можно ли использовать .htaccess для перенаправления всех запросов для определенной папки на www.example.com в папку on вместо static.example.com ?

возможно, но счетчик продуктивен-клиент должен будет сделать HTTP-запрос, получить ответ перенаправления, а затем сделать другой HTTP-запрос.

Это стоит намного больше, чем одна строка сохраненных данных cookie!

будет ли этот метод также обманывать CMS в мышлении изображение были ли расположены в местоположениях по умолчанию в собственном домене?

нет.


хотя это легко сделать, я бы теряю способность управлять собой. система управления контентом (Joomla / WordPress) легко ссылаться и ссылка на эти изображения.

что вы можете попытаться сделать, это создать плагин в Joomla, который динамично создает эти ссылки.

например, у вас есть плагин, который при вводе {dinamic_path path} в статье, он добавляет 'static.example.com/images - к предусмотренному пути. Так что, каждый раз, когда ты нужно изменить путь к серверу, вы просто измените плагин. Для ссылок, которые уже находятся в базе данных, можно попробовать использовать phpMyAdmin для их изменения в этой структуре.

Он по-прежнему теряет hability WYSIWYG в TinyMCE, но является альтернативой.


теоретически вы можете создать виртуальный домен, который указывает непосредственно на папку images, например images.example.com - ... Затем в вашей CMS (надеюсь, на уровне темы) вы можете заменить любые пути, указывающие на папку изображений, абсолютным путем к поддомену.


перенаправления вызовут гораздо больше сетевого трафика, и далеко больше латентности, чем просто оставлять вещи такими, какие они есть.


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


Я сделал ниже и добился успеха:

<FilesMatch "!\.(gif|jpe?g|png)$">
    php_value session.cookie_domain example.com
</FilesMatch>

это означает, что если вы не устанавливаете изображения в информации cookie. Тогда изображения cookie-free с сервером.


то, что вы действительно хотите сделать, это использовать staticexample.com/images вместо static.example.com/images чтобы вы не забирали печенье на example.com домен, который вы, возможно, установили. Если все, что вы делаете, это образы серверов из этого домена с простым сервером apache или что-то еще, вы можете настроить этот сервер не возвращать даже cookie сеанса.

переадресация-очень плохая идея. Cookies вызывают некоторые хиты производительности, но туда и обратно на сервер, такие как перенаправление причина гораздо более серьезная проблема производительности.