Сначала позвольте мне немного рассказать о концепции доменов без файлов cookie. Обычно при запросе чего-либо через http любые соответствующие куки отправляются вместе с запросом. Файлы cookie зависят от того, с какого домена они пришли. Идея использования домена без файлов cookie заключается в том, что вы перемещаете статический контент, который не использует файлы cookie, например изображения, в отдельный домен, чтобы файлы cookie не отправлялись с этим запросом. Это отсекает небольшое количество трафика.
Сколько вы получите от этого, зависит от типа страницы. Чем больше у вас изображений, тем больше вы получаете. Если ваш сайт загружает большую кучу маленьких изображений, таких как аватары или миниатюры изображений, вам, возможно, придется много чего получить. Напротив, если ваш сайт не использует куки, вам нечего получить. Вполне возможно, что ваша страница не будет загружаться заметно быстрее, если она использует только небольшое количество изображений, которые все равно будут кэшироваться между загрузками страниц.
Также следует иметь в виду, что файлы cookie, установленные для example.com
, также будут отправляться с запросами на s1.example.com
, так как "s1.
" является поддоменом для example.com
. Вам нужно использовать www.
(или любой другой поддомен по вашему выбору), чтобы разделить пространства файлов cookie.
Во-вторых , если вы решите, что домен без файлов cookie действительно стоит попробовать, давайте поговорим о реализации.
Решение Шихара плохо ! Хотя решение, кажется, работает на поверхности, на самом деле оно отрицает цель использования домена без файлов cookie. Для каждого изображения сначала пробуется URL s1.
. URL s1.
затем перенаправляет на домен www.
, который запускает второй http-запрос. Это потеря, независимо от того, как вы на это смотрите. Что вам нужно, это rewrite , который изменяет URL-адрес внутри веб-сервера, даже если браузер этого не понимает.
Для простоты я предполагаю, что все домены указывают на один и тот же каталог, так что www.example.com/something
= example.com/something
= s1.example.com/something
= blub.example.com/something
. Это упрощает задачу, если вам действительно необходимо физически хранить изображения в «www.example.com/images
».
Я бы порекомендовал .htaccess, который выглядит примерно так:
# Turn on rewrites
RewriteEngine On
# Rewrite all requests for images from s1, so they are fetched from the right place
RewriteCond %{HTTP_HOST} ^s1\.example\.com
# Prevent an endless loop from ever happening
RewriteCond %{REQUEST_URI} !^/images
RewriteRule (.+) /images/$1 [L]
# Redirect http://s1.example.com/ to the main page (in case a user tries it)
RewriteCond %{HTTP_HOST} ^s1\.example\.com
RewriteRule ^$ http://www.example.com/ [R=301,L]
# Redirect all requests with other subdomains, or without a subdomain to www.
# Eg, blub.example.com/something -> www.example.com/something
# example.com/something -> www.example.com/something
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} !^s1\.example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
# Place any additional rewrites below.