Окрім історичних причин, чи є причина в URL-адресі “www”?
Чи слід створити постійну переадресацію з www.xyz.com
на xyz.com
або з xyz.com
на www.xyz.com
? Кого б ви запропонували і чому?
Окрім історичних причин, чи є причина в URL-адресі “www”?
Чи слід створити постійну переадресацію з www.xyz.com
на xyz.com
або з xyz.com
на www.xyz.com
? Кого б ви запропонували і чому?
Відповіді:
Однією з причин, через яку вам потрібен www
чи якийсь інший субдомен, є пов'язана з химерністю DNS та записом CNAME.
Припустимо для цілей цього прикладу, що ви запускаєте великий сайт і укладаєте договір на розміщення CDN (Network Content Network), такого як Akamai. Зазвичай ви налаштовуєте запис DNS для вашого сайту як CNAME на якусь akamai.com
адресу. Це дає CDN можливість надати IP-адресу, близьку до браузера (в географічному або мережевому відношенні). Якби ви використовували запис на своєму сайті, ви не зможете запропонувати цю гнучкість.
Вигадка 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 у головному домені (крім випуску файлів cookie ...)?
Примітка. Що стосується ратифікації та впровадження (усіма поточними браузерами, крім можливо MSIE 11 , див. Коментарі) RFC 6265 у 2011 році, наступне більше не є точним, оскільки файли cookie за замовчуванням ніколи не встановлюються в субдоменах.
Історично однією з вагомих технічних причин зробити www.example.com
канонічні було те, що куки основного домену (тобто example.com
) надсилалися на всі субдомени.
Тож якщо на вашому веб-сайті використовувались файли cookie, вони надсилатимуться на всі його піддомени.
Зараз це часто має сенс, але це позитивно шкідливо, якщо ви хочете завантажувати лише статичні ресурси, оскільки він просто витрачає пропускну здатність. Розгляньте всі таблиці стилів та зображення на вашому веб-сайті: зазвичай, немає жодної причини надсилати файли cookie на сервер при запиті ресурсу зображення.
Тому хорошим рішенням є використання субдомену для статичних ресурсів, наприклад static.example.com
, для збереження пропускної здатності, не надсилаючи файли cookie. Всі зображення та інші статичні завантаження можна завантажити звідти. Якщо ви зараз використовуєте www.example.com
для динамічного контенту, це означає, що файли cookie потрібно надсилати лише до них 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 буде встановлювати файли cookie на вершині домену та на субдоменах , і спосіб уникнути цього - не використовувати 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 на статичні сервери (заслуга Конрада Рудольфа ).
Це досить історично. Колись ми використовували 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-or-not-to-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
це лише домен і нічого не говорить про те, який протокол слід використовувати для доступу до нього.