Кроме исторических причин, есть ли причина иметь «www» в URL?
Должен ли я создать постоянное перенаправление с www.xyz.com
на xyz.com
или с xyz.com
на www.xyz.com
? Какой бы вы предложили и почему?
Кроме исторических причин, есть ли причина иметь «www» в URL?
Должен ли я создать постоянное перенаправление с www.xyz.com
на xyz.com
или с xyz.com
на www.xyz.com
? Какой бы вы предложили и почему?
Ответы:
Одна из причин, по которой вам нужен www
или какой-то другой поддомен, связана с причудой DNS и записью CNAME.
Предположим, для целей этого примера, что вы работаете с большим сайтом и заключаете договор на хостинг с CDN (Content Distribution Network), такой как Akamai. Обычно вы настраиваете запись DNS для вашего сайта как CNAME по какому-либо akamai.com
адресу. Это дает CDN возможность предоставить IP-адрес, близкий к браузеру (в географическом или сетевом выражении). Если вы используете запись A на своем сайте, вы не сможете предложить такую гибкость.
Причудой DNS является то, что если у вас есть запись CNAME для имени хоста, вы не можете иметь никаких других записей для этого же хоста. Однако ваш домен верхнего уровня example.com
обычно должен иметь записи NS и SOA. Поэтому вы также не можете добавить запись CNAME для example.com
.
Использование www.example.com
дает вам возможность использовать CNAME для того, www
что указывает на ваш CDN, оставляя при этом необходимые записи NS и SOA example.com
. example.com
Записи, как правило , также запись A , чтобы указать на хост , который будет перенаправлять с www.example.com
использованием HTTP редиректа.
ALIAS
(или ANAME
записи) в этой теме? Разве он не достигает тех же результатов, что и CNAME на nakeddomain (кроме вопроса cookie ...)?
Примечание. Что касается ратификации и реализации (всеми текущими браузерами, за исключением, возможно, MSIE 11 , см. Комментарии) RFC 6265 в 2011 году, следующее уже не является точным, поскольку файлы cookie по умолчанию никогда не устанавливаются в поддоменах.
Исторически , одна хорошая техническая причина сделать www.example.com
каноническим было то, что куки основного домена (то есть example.com
) были отправлены всем поддоменам.
Таким образом, если ваш сайт использует куки, они будут отправлены на все его субдомены.
Теперь, это часто имеет смысл, но это положительно вредно, если вы хотите загружать только статические ресурсы, поскольку это просто тратит пропускную способность. Рассмотрите все таблицы стилей и изображения на вашем веб-сайте: обычно нет причин отправлять файлы cookie на сервер при запросе ресурса изображения.
Поэтому хорошее решение состоит в том, чтобы использовать поддомен для статических ресурсов, например static.example.com
, чтобы сэкономить пропускную способность, не отправляя файлы cookie. Все изображения и другие статические загрузки могут быть загружены оттуда. Если вы сейчас используете www.example.com
динамический контент, это означает, что куки-файлы нужно только отправлять www.example.com
, а не отправлять static.example.com
.
Если, однако, example.com
ваш основной сайт, то куки будут отправлены на все субдомены, в том числе static.example.com
.
Теперь это не относится к большинству сайтов, но изменение канонического URL в дальнейшем не является хорошей идеей, поэтому, как только вы согласились, example.com
вместо этого www.*
вы в основном застряли с этим.
Альтернативой является использование совершенно другого URL для статических ресурсов. Например, использование переполнения стека, использование sstatic.net
YouTube ytimg.com
и т. Д.
www.x
канонический URL, поэтому лично я, вероятно, использовал бы другой URL для статических ресурсов, если бы я проектировал большой сайт.
domain=example.com
установит cookie на домене apex и поддоменах , и способ избежать этого - не использовать домен apex для HTTP. Хотя, согласился, другим способом было бы просто не указывать domain
при настройке cookie. Интересно, изменилось ли это с тех пор, как я написал свой ответ (который предшествовал соответствующему RFC 6265 !), Но я не могу потрудиться посмотреть его сейчас.
www
является поддоменом, обычно используемым для веб-сервера в домене вместе с другими для других целей, таких как mail
и т. д. В настоящее время парадигма поддоменов не нужна; если вы подключитесь к веб-сайту в браузере, вы получите веб-сайт или отправите почту на сервер, используя его почтовый сервис.
Использование www
или нет - вопрос личных предпочтений. Противоположные точки зрения можно найти на http://no-www.org/ и http://www.yes-www.org/, однако я считаю, что www
это излишне и просто добавляет больше URI.
Большинство серверов отправляют один и тот же сайт в любом случае, но не перенаправляют. В целях SEO выберите один, а затем получите другой, чтобы перенаправить на него. Например, некоторый код PHP для этого:
if (preg_match('/www/', $_SERVER['SERVER_NAME'])) {
header("Location: http://azabani.com{$_SERVER['REQUEST_URI']}");
exit;
}
Однако, некоторые причины, способствующие использованию www
субдомена, сделанного другими ответчиками, также велики, например, не отправка файлов cookie на статические серверы (кредит Konrad Rudolph ).
Это довольно исторически. Когда-то у нас были сайты www.example.com, ftp.example.com, images.example.com, uk.example.com и т. Д., Которые казались логичными и обеспечивали простой метод распределения нагрузки между сервера.
В эти дни я бы просто пошел на example.com для основного сайта и перенаправил на него версию www.
Инструменты Google для веб-мастеров позволяют вам указать предпочитаемый домен , поэтому убедитесь, что вы тоже используете его.
Смотрите также:
https://stackoverflow.com/questions/1109356/www-or-not-www-what-to-choose-as-primary-site-name
https://stackoverflow.com/questions/1884157/to- WWW-или-не-к-WWW
Если у вас будут субдомены для других целей (например, в блоге), вы можете различать сайты и иметь www
префикс для обычного сайта. Кроме того, единственная важная вещь - это выбрать один из двух и придерживаться его (по причинам SEO).
www.example.com
от example.com
или наоборот без чего-то вроде JSONP.
Вот еще одна небольшая перспектива.
Отсутствие www означает незначительный недостаток, когда речь идет о текстовых средствах массовой информации, будь то печатных или онлайн, и это признает его в качестве веб-адреса. В печати обычно довольно очевидно, что example.com - это веб-адрес, и вы можете добавить штрихи к стилю, чтобы подчеркнуть это. Но обычный текст онлайн? Не так просто. Скорее всего, если вы отправите текстовое сообщение - будь то электронное письмо, твит, публикация в Facebook, SMS или что-то еще - он распознает URL, начинающийся с http: // или www. но не узнает ни одного без них. Таким образом, чтобы превратить URL в кликабельную ссылку, вы должны указать www. или http: // на передней панели, и из двух, www. короче, менее неуклюже на вид и легче для чтения.
http://example.com/
полностью квалифицирован, тогда www.example.com
как нет. Я предпочитаю полностью квалифицированный подход , потому что он всегда узнаваем как URL , независимо от того , это он https://example.uk/
или https://blog.example.eu/
или любой другой . Это согласуется с указанием протокола защищенного сайта как HTTPS; www.example.com
это просто домен и ничего не говорит о том, какой протокол следует использовать для доступа к нему.