Comments 31
Однако это вызвало протест пользователей, заявивших о том, что между www-сайтами и m-сайтами есть серьезная разница. В итоге Google отменила автоматическое сокрытие поддоменов.

Ну так www.site в большинстве случаев это просто алиас к site. Никогда не понимал, зачем он сейчас нужен, это архаизм. А m.site вроде как не собираются скрывать.

Он остался с тех времён, когда сервера называли по именам, и у компании могло быть, например, три сервера: один отвечал за www, второй за почту (smtp/pop3) и третий мог обслуживать ftp. Поскольку никаких динамических средств разделения трафика (балансеров, port-based routing и т.д.) не было, использование разных доменных имён позволяло разделить типы трафика по разным серверам.

Это одна из причин, но не главная. Гораздо важнее то, что HTTP в те древние времена не был главным протоколом для общения пользователя с сервисом, и предлагать его «по умолчанию» никто и не думал. Кто-то мог работать, допустим, исключительно с юзнет-группами, и даже слова «браузер» не знать. Кто-то соединялся по FTP и качал файлики, и так далее. Масса пользователей работала исключительно с почтой. В итоге, написав на двери магазина «walmart.com», вы не привлекали посетителей на сайт, т.к. не каждый мог понять, что это именно сайт и туда надо ходить браузером.

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

Да, но вот с новыми TLD порой без www непонятно. Вот недавно в вагоне метро видел www.metro.taipei. Из-за www понятно что это URL, а если написать просто metro.taipei, то уже надо какие-то иконки добавлять, чтобы было понятно что это URL. Не всё так однозначно тут

https://metro.taipei

Думаю, это даже больше походит на ссылку, чем

www.metro.taipei

Да и выглядит стильнее.

Ну я вообще за, но на рекламе редко видно https://. Наверное это не так понятно для, кхм, обычных людей :)

Вообще к кукам на www.site.com нет доступа ни одного другого поддомена, кроме *.www.site.com. А к кукам на site.com есть доступ вообще на всех поддоменах.

Т. е. если на сайте есть авторизация пользователя, то www.site.com безопаснее, т. к. к этим кукам больше ни у кого нет доступа, а на site.com доступ есть у всех.

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

Но в 99% случаев сайт разрабатывается одной командой или человеком, и на поддоменах всё-равно не будет левого кода. И использовать www нет никакого смысла, это только мозолит глаза. Причём нужно понимать, что если вдруг реально понадобится, Вы итак сможете перейти на www в любой момент без каких-либо последствий. Но с 99% вероятностью Вам это так никогда и не понадобится.

Если же сайт большой, и разные разделы сайта разрабатываются разными командами, то да, тут уже всегда использование поддоменов логичнее (для разделения кук, чтобы взлом одного поддомена не влиял на другие). Но даже в этом случае вместо разделения по поддоменам я бы поюзал разделение по разделам, например, site.com/раздел1, site.com/раздел2 и т. д. (это возможно, но надо аккуратно, если Вы не профи, не делайте так, т. к. нужно настроить права в CORS, в фреймах на «on messsage», запретить флеш, запретить прямой доступ к фреймам переопределив стандартное API, убрать window.opener, поставить на всякий случай всем ссылкам rel="noopener noreferrer" и т. д.).
А к кукам на site.com есть доступ вообще на всех поддоменах.

Это только при некорректной настройке сервера или в забагованном IE11 (в Edge уже пофиксили). Зайдите на тот же www.habr.com — по сравнению с habr.com половина кук (например habrsession_id) будет отсутствовать (другая половина, вроде PHPSESSID, останется, но это уже у Хабра надо спрашивать почему)

Вообще Вы правы. Вот цитата из MDN:
Domain=<domain-value> (optional):

Hosts to where the cookie will be sent.

  • If omitted, defaults to the host of the current document URL, not including subdomains.
  • Contrary to earlier specifications, leading dots in domain names (.example.com) are ignored.
  • If a domain is specified, subdomains are always included.

Если мы указываем конкретный домен, то кука будет доступна также и на всех поддоменах. Но когда мы вообще ничего не указываем, кука будет доступна только на текущем домене и больше никаких.

Тогда в использовании www вообще нет никакого смысла.

Кстати, появилась также новая опция SameSite=Strict|Lax|None, которая позволяет запретить посылку куки, когда запрос к сайту посылается с другого домена (например, через fetch, ajax, img и т. д.).
UFO landed and left these words here
Сейчас такое время, что Chrome по сути можно сменить только на другую шкурку над тем же движком.

Нет, пользуюсь фаерфоксом уже 3 года, после квантума, на хромого не собираюсь возвращаться. На мобильном уже есть фаєрфокс превью, который тоже быстрее хромого, можно полностью отказаться от гуглозонда

Лучше бы сделали, что если в адресной строке написано 10.17.185.1:8080/тест, и это выделяется и копируется, то в буфере обмена не оказывалось бы http://10.17.185.1:8080/%D1%82%D0%B5%D1%81%D1%82. Простая операция копирования, но добавляет протокол и преобразует не-ASCII символы в urlencoded. :/

добавляет протокол
Логично, потому что в адресной строке у вас, на самом деле, написано http://10.17.185.1:8080, а не 10.17.185.1:8080. Т.е. никто ничего не добавляет, протокол там есть изначально, вам визуально его не показывают.
Это в урле (адресе страницы) он есть, а я текст из текстового поля копирую. Если бы я хотел урл, я бы из контекстного меню выбирал «копировать адрес», а если я в текстовом поле выделяю текст, то не нужно за меня всякую дрянь туда писать. В Хроме же, емнип, даже если руками в адресе выделить только хостнейм, всё равно при копировании протокол допишется и слэш в конце.
Чтобы обойти эту фигню — надо перед копированием перейти в начало/конец поля ввода и добавить пробел. А потом уже выделять и копировать в буфер. Тогда скопирует с русскими символами.
Не удобно — но хотя бы так…

Подключился к рабочему компу, проверил. Хром 78.0.3904.70, если что.


  1. Ctrl+A + Ctrl+C – ковёркает буфер обмена. Ожидаемо.
  2. End + + Ctrl+A + Ctrl+C – тоже ковёркает буфер обмена. Странно.
  3. Home + + Ctrl+A + Ctrl+C – ковёркает буфер обмена. Хм.
  4. End + + Shift+Home + Ctrl+C – всё ещё ковёркает буфер обмена. Неужели совет не из той версии хрома?..
  5. Home + + Shift+End + Ctrl+C – копирует так, как надо! Фух.

Спасибо. Это было сложно, но вы упростили мне жизнь. :)

Да, это логично и в 98% случаев востребованно. Но всё равно неудобно.


Кмк, лучшее решение – не убирать отображение протокола. От того, что там будет написано http:// на широких экранах места не убавится, а копировать нужное будет проще. Оставшиеся два процента приходятся на какие-нибудь интранет-сайты и ftp://, скажем. :)

Если так сделать, посыпется много жалоб на кучу ссылок в Интернете, которые не работают. Потому что юзер не знал, что для копирования нужно нажать на адресную строку 2 раза либо 1 раз, но начать перемещать курсор.

Но было бы круто, чтобы появлялась кнопка «скопировать как текст» которая копирует отображаемый адрес без всяких преобразований. После первого копирования объяснить, как это работает, и что ссылка не обязана быть рабочей.

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

Надеюсь, убрав http(s), они не запилят через десяток версий в результатах поиска новые модные ссылки аля amp://habr.com, которые будут отображаться как habr.com.

У меня версия 78 и там нет вообще настройки «Omnibox UI Hide Steay-State URL Scheme and Trivial Subdomains». Другие есть, а именно этой нет.
Это замечательный подход! Дальше еще яндекс должен решить, что домен первого уровня тоже не нужен, ведь все равно все ходят на ru…
Яндекс уже давно так решил и в Яндекс Браузере показывает не домен, а title сайта.
А в 79 версии вообще теперь нельзя вернуть полный url что-ли?
Хром скоро страницы начнет обрезать, т.к. «ну а че, нах оно нужно».

UPD: Включаем Temporarily unexpire M76 flags, появляются опции Omnibox UI Hide Steay-State URL. Но они не переключаются. Просто ничего не меняется после рестарта браузера :)
Only those users with full accounts are able to leave comments. Log in, please.