ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Безопасность использования URL без указания протокола

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Используйте URL, автоматически адаптирующиеся под протокол текущей страницы. Для этого вставьте // перед адресом, в таком случае браузер сам выберет нужный протокол (HTTP или HTTPS).

Пример:

HTML
Скопировать код
<!-- белка предлагает вам жёлудь [URL] 🐿️ -->
<a href="//example.com/page">Привет, страница!</a>

Такой подход обеспечивает безопасность и совместимость без необходимости явного указания протокола.

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Принцип работы относительных URL

Отсутствие протокола в URL позволяет использовать тот же протокол, что и у страницы, где открывается ссылка. Это известно как «ссылка на сетевой путь» согласно RFC 3986, и помогает избежать проблем со смешанным содержимым, непосредственно когда страница на HTTPS загружает элементы по HTTP, создавая потенциальные угрозы безопасности в браузерах.

Нюансы и ограничения

Несмотря на простоту, такой подход имеет свои ограничения. Так, старые браузеры, например, IE7 и IE8, могут работать с такими URL некорректно, особенно внутри тегов <link> или CSS-директив @import. Это может привести к ошибкам загрузки файлов.

История возникновения и признание

URL, адаптирующийся под протокол, стал известным благодаря работе Пола Айриша. Его статьи представили этот прием, который был поддержан такими ресурсами, как руководство Google по HTML/CSS и HTML5 Boilerplate. Однако при использовании этого подхода следует быть осторожными, поскольку могут возникнуть проблемы, например с IE6 или Google Analytics.

Тестирование

Перед использованием подобных URL обеспечьте полное тестирование на совместимость с различными браузерами. Инструменты как "Can I Use" помогут выявить возможные проблемы и подготовить вас к их решению.

Визуализация

Velекий пример аналогии относительного URL — это универсальный адаптер питания для различных устройств:

Markdown
Скопировать код
| Устройство          | Адаптер                |
| ------------------- | ---------------------- |
| Смартфон (📱)       | Адаптер (🔌➖🔗)        |
| Планшет (💊)        | Адаптер (🔌➖🔗)        |
| Ноутбук (💻)        | Адаптер (🔌➖🔗)        |

Таким же образом URL без явно указанного протокола адаптируются под схему текущей страницы.

plaintext
Скопировать код
Текущая схема страницы: HTTPS 🔒
URL: //example.com/path ➡️ Превращается в HTTPS://example.com/path

Текущая схема страницы: HTTP 🌍
URL: //example.com/path ➡️ Превращается в HTTP://example.com/path

При этом необходимо учитывать влияние таких URL на SEO — правильное ими управление улучшает видимость сайта для поисковых систем.

SEO и доступность

Относительные URL улучшают безопасность и совместимость, что положительно влияет на SEO и делает контент более доступным.

Предосторожности

С течением времени использование HTTPS стало приоритетом по сравнению с относительными URL для обеспечения высокого уровня безопасности. Поэтому, несмотря на удобство относительных URL, рекомендуется использовать зашифрованные протоколы.

Полезные материалы

  1. Что такое URL? — подробное руководство по структуре URL;
  2. Крутые URI для Семантического Веба — руководство по методам управления URI от W3C;
  3. Обсуждение использования относительных URL на Stack Overflow;
  4. Как избежать смешанного содержимого — советы по обеспечению безопасности веб-сайтов;
  5. Общая информация о схемах URI и относительных URL;
  6. Поддержка браузерами относительных URL;
  7. Управление параметрами URL с точки зрения SEO.