Який сенс мати "www" у URL-адресі?


238

Окрім історичних причин, чи є причина в URL-адресі “www”?

Чи слід створити постійну переадресацію з www.xyz.comна xyz.comабо з xyz.comна www.xyz.com? Кого б ви запропонували і чому?



І навпаки, у чому не сенс. Для використання файлів cookie та піддомену для успішної веб-присутності корисно відокремити кілька процесів.
Лабораторії Фіаско

Ця відповідь , хоч і не має прямого відношення, здається актуальною.
Skippy le Grand Gourou

Відповіді:


202

Однією з причин, через яку вам потрібен 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 редиректу.


3
Ви можете надати запис за замовчуванням CNAME, що вказує на CDN, не потрібно використовувати "www". Це дозволяє вашому серверу DNS мати SOA, NS, CNAME тощо RR для одного і того ж доменного імені.
Chris S

1
Чому ніхто не згадує про ALIAS(або ANAMEзаписи) у цій темі? Чи не досягає таких самих результатів, як CNAME у головному домені (крім випуску файлів cookie ...)?
Августин Рідінгер

3
@AugustinRiedinger: Записи ANAME не є типовим типом RNS DNS. Вони є власником конкретних постачальників послуг.
Грег Х'югілл

Але це породжує якісь проблеми сумісності чи щось таке? Чи є причина, що ми не повинні їх використовувати (окрім того, що вони не є стандартними, але є власницькими)?
Августин Рідінгер

2
@AugustinRiedinger не підтримується на більшості серверів DNS . Але якщо ваш провайдер має сервер DNS, який підтримує ці функції, то це не повинно створювати проблем із клієнтами.
Коен.

104

Примітка. Що стосується ратифікації та впровадження (усіма поточними браузерами, крім можливо 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тощо ...


11
До речі, мені дуже не подобається www.xяк канонічна URL-адреса, тому особисто я, мабуть, використовував би іншу URL-адресу для статичних ресурсів, якби створив великий сайт.
Конрад Рудольф

1
@RobinWinslow Але налаштування domain=example.comфайлів cookie буде встановлювати файли cookie на вершині домену та на субдоменах , і спосіб уникнути цього - не використовувати apex домен для HTTP. Хоча, погоджено, іншим способом було б просто не вказати domainпід час встановлення файлу cookie. Цікаво, чи змінилося це з моменту написання моєї відповіді (яка передує відповідному RFC 6265 !), Але я не можу потурбуватись шукати її зараз.
Конрад Рудольф

2
Схоже, поведінка, яку я описую, відбулася щонайменше з 2011 року, коли було написано RFC 6265 (скоріше як підсумок поточної поведінки браузера, ніж твердження про те, як вони повинні працювати). На сьогоднішній день ми можемо припустити, що всі браузери дотримуватимуться його. Див stackoverflow.com/questions/1062963 / ... і bayou.io/draft/cookie.domain.html . З огляду на це, я думаю, що ваша відповідь була неправдивою не менше 7 років, хоча вона могла бути точною в деяких випадках під час написання. Чи можете ви оновити його, щоб уточнити цей факт?
Робін Уінслоу

2
@RobinWinslow Так, зроблять.
Конрад Рудольф

2
Більше доказів того, що IE11 робить погано: developer.microsoft.com/en-us/microsoft-edge/platform/issues/…
Робін Уінслоу,

12

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 на статичні сервери (заслуга Конрада Рудольфа ).


2
Схоже, що no-www.org повернувся до припаркованої для продажу сторінки, де yes-www.org все ще сильний. Я думаю, що це вирішує. Усі користуються "www" відтепер.
нуня

9

Це досить історично. Колись ми використовували 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


8

Якщо у вас будуть субдомени для інших цілей (наприклад, блог), ви можете розмежувати сайти та мати wwwпрефікс для звичайного сайту. Крім цього, єдине важливе - вибрати одне з двох і дотримуватися його (з SEO причин).


1
На даний момент я не можу знайти посилання, але це також може вплинути на ту саму політику походження.
Кобі

Так, на жаль. Ви не можете AJAX www.example.comз example.comабо навпаки без чогось типу JSONP.
Делан Азабані

7

Я б зробив перше. wwwКонвенції походить від перших днів HTTP , де www.cmu.edu і cmu.edu були дуже ймовірно різні машини.


10
у "перші дні" ви рідко бачили запис A для домену - можливо, він мав би запис MX, але ви рідко мали там хоста.
Джо Х.

2

Ось ще одна незначна перспектива.

Не маючи www, є незначний недолік, коли мова йде про текстові засоби масової інформації, будь то друковані або в Інтернеті, і це стає визнанням її веб-адресою. У друку зазвичай очевидно, що example.com - це веб-адреса, і ви можете додати стильові штрихи, щоб виділити це. Але звичайний текст в Інтернеті? Не так просто. Швидше за все, якщо ви надішлете звичайне текстове повідомлення - електронною поштою, твіттом, повідомленням у Facebook, SMS чи будь-яким іншим - він розпізнає URL, що починається з http: // або www. але не впізнає жоден із них. Тож для того, щоб перетворити URL-адресу на посилання, на яке можна натиснути, вам потрібно поставити www. або http: // спереду, і двох, www. коротший, менш незграбний для перегляду і легший для читання.


2
http://example.com/є повністю кваліфікованим, тоді www.example.comяк ні. Я віддаю перевагу цілком кваліфікованому підходу, оскільки його завжди можна розпізнати як URL-адресу незалежно від того, є вона https://example.uk/чи https://blog.example.eu/ні. Він узгоджується із зазначенням протоколу захищеного сайту як HTTPS; www.example.comце лише домен і нічого не говорить про те, який протокол слід використовувати для доступу до нього.
Джеймс Хей
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.