Подтвердить что ты не робот

Html - ссылки без протокола HTTP

Есть ли причина, по которой мы включаем протокол http/https в атрибуте href ссылок?

Было бы неплохо просто оставить это:

<a href="example.com">my site</a>
4b9b3361

Ответ 1

Включение части "http:" или "https:" отчасти является вопросом традиции, отчасти зависящим от фактического указания протокола. Если он по умолчанию, используется протокол текущей страницы; например, //www.example.com становится http://www.example.com или https://www.example.com в зависимости от URL-адреса ссылочной страницы. Если веб-страница сохраняется на локальном диске и затем открывается оттуда, у нее нет протокола (только файл: псевдо-протокол), поэтому URL-адреса, такие как //www.example.com, не будут работать; поэтому есть одна причина включения части "http:" или "https:".

Опустить также часть "//" - это совсем другая проблема, превращая URL в относительный URL-адрес, который будет интерпретироваться как относительный для текущего базового URL-адреса.

Причина, по которой www.example.com работает при вводе или вставке в адресной строке браузера, заключается в том, что относительные URL-адреса не имеют смысла там (нет базового URL-адреса для связи), поэтому производители браузеров решили указать "http://" prefix there.

Ответ 2

URL-адреса в href не ограничиваются только документами HTTP. Они поддерживают все протоколы, поддерживаемые браузерами - ftp, mailto, файл и т.д.

Кроме того, вы можете переадресовать имя URL с помощью "#", чтобы ссылаться на идентификатор html внутри страницы. Вы можете указать только путь к имени или каталогу, без протокола, который будет использоваться как относительный URL.

Ответ 3

Без http, это займет относительный URL. Если вам нужно указать внешний URL, нужно указать http, иначе он попытается взять ваш локальный ресурс.

Итак, это зависит от того, где вы хотите указать.