Uniform Resource Locator ( URL ), в просторечии называется веб - адрес , [1] является ссылкой на веб - ресурс , который определяет его местоположение на компьютерной сети и механизм для извлечения его. URL-адрес - это особый тип универсального идентификатора ресурса (URI), [2] [3], хотя многие люди используют эти два термина как синонимы. [4] [a] URL-адреса чаще всего используются для ссылки на веб-страницы ( http ), но также используются для передачи файлов ( ftp ), электронной почты ( mailto ), доступа к базе данных ( JDBC) и многие другие приложения.
Единый указатель ресурсов | |
Статус | Опубликовано |
---|---|
Впервые опубликовано | 1994 |
Последняя версия | Уровень жизни 2021 |
Организация | Инженерная группа Интернета (IETF) |
Комитет | Рабочая группа по технологиям веб-гипертекстовых приложений (WHATWG) |
Ряд | Запрос комментариев (RFC) |
Редакторы | Энн ван Кестерен |
Авторы | Тим Бернерс-Ли |
Базовые стандарты | RFC 3986 . - Универсальный идентификатор ресурса (URI): общий синтаксис. RFC 4248 . - Схема telnet URI. RFC 4266 . - Схема URI суслика. RFC 6068 . - Схема URI mailto. RFC 6196 . - Перемещение почтового сервера: Схема URI в Историческую. |
Связанные стандарты | URI , URN |
Домен | Всемирная сеть |
Лицензия | CC BY 4.0 |
Сокращение | URL |
Веб-сайт | https://url.spec.whatwg.org |
Большинство веб-браузеров отображают URL-адрес веб-страницы над страницей в адресной строке . Типичный URL-адрес может иметь форму http://www.example.com/index.html
, в которой указаны протокол ( http
), имя хоста ( www.example.com
) и имя файла ( index.html
).
История
Единые указатели ресурсов были определены в RFC 1738 в 1994 году Тимом Бернерсом-Ли , изобретателем Всемирной паутины , и рабочей группой URI Инженерной группы Интернета (IETF) [7] в результате сотрудничества, начатого в IETF Living Documents birds of a перьевой сеанс в 1992 году. [8] [9]
Формат объединяет ранее существовавшую систему доменных имен (созданную в 1985 году) с синтаксисом пути к файлу , где косые черты используются для разделения каталогов и имен файлов . Уже существовали соглашения, согласно которым имена серверов могли быть дополнены префиксом пути к файлу, которому предшествовала двойная косая черта ( //
). [10]
Позже Бернерс-Ли выразил сожаление по поводу использования точек для разделения частей доменного имени в URI , пожелав, чтобы он не использовал косую черту повсюду, [10], а также сказал, что, учитывая двоеточие после первого компонента URI, два косые черты перед доменным именем не нужны. [11]
Ранний (1993 г.) проект спецификации HTML [12] относился к «универсальным» локаторам ресурсов. Это было прекращено где-то между июнем 1994 г. ( RFC 1630 ) и октябрь 1994 г. (draft-ietf-uri-url-08.txt). [13]
Синтаксис
Каждый URL-адрес HTTP соответствует синтаксису универсального URI. Общий синтаксис URI состоит из иерархической последовательности из пяти компонентов : [14]
URI = scheme: [// авторитет] путь [? Запрос] [# фрагмент]
где компонент полномочий делится на три подкомпонента :
авторитет = [информация пользователя @] хост [: порт]
Это представлено на синтаксической диаграмме как:
URI включает:
- Непустой компонент схемы, за которым следует двоеточие (
:
), состоящее из последовательности символов, начинающейся с буквы, за которой следует любая комбинация букв, цифр, плюс (+
), точка (.
) или дефис (-
). Хотя в схемах регистр не учитывается, в канонической форме используются строчные буквы, и в документах, определяющих схемы, должны использоваться строчные буквы. Примеры популярных схем включаютhttp
,https
,ftp
,mailto
,file
,data
, иirc
. Схемы URI должны быть зарегистрированы вInternet Assigned Numbers Authority (IANA), хотя на практике используются незарегистрированные схемы. [b] - Необязательный компонент полномочий, которому предшествуют две косые черты (
//
), включая:- Необязательный Подкомпонент userinfo, который может состоять изимени пользователяи необязательногопароля,которому предшествует двоеточие (
:
), за которым следует символ at (@
). Использование форматаusername:password
в подкомпоненте userinfo не рекомендуется по соображениям безопасности. Приложения не должны отображать:
в виде открытоготекста любые данные после первого двоеточия () в подкомпоненте userinfo, если только данные после двоеточия не являются пустой строкой (указывающей на отсутствие пароля). - А Подкомпонент хоста , состоящий либо из зарегистрированного имени (включая, помимо прочего,имя хоста), либо изIP-адреса. АдресаIPv4должны быть вдесятичном формате с точками, аадресаIPv6должны быть заключены в квадратные скобки (
[]
). [16] [c] - Необязательный подкомпонент порта, которому предшествует двоеточие (
:
).
- Необязательный Подкомпонент userinfo, который может состоять изимени пользователяи необязательногопароля,которому предшествует двоеточие (
- А Компонент пути , состоящий из последовательности сегментов пути, разделенных косой чертой (
/
). Путь всегда определяется для URI, хотя указанный путь может быть пустым (нулевой длины). Сегмент также может быть пустым, что приводит//
к появлениюдвух последовательных косых черт () в компоненте пути. Компонент пути может напоминать или точно соответствоватьпути файловой системы, но не всегда подразумевает связь с ним. Если присутствует компонент полномочий, то компонент пути должен быть пустым или начинаться с косой черты (/
). Если компонент полномочий отсутствует, то путь не может начинаться с пустого сегмента, то есть с двух косых//
черт(), поскольку следующие символы будут интерпретироваться как компонент полномочий. [18] Последний сегмент пути может называться «пробкой».
Разделитель запроса | Пример |
---|---|
Амперсанд ( & ) | key1=value1&key2=value2 |
Точка с запятой ( ; ) [d] | key1=value1;key2=value2 |
- Необязательный компонент запроса, которому предшествует вопросительный знак (
?
), содержащийстроку запросанеиерархических данных. Его синтаксис четко не определен, но по соглашению чаще всего представляет собой последовательностьпар атрибут-значение,разделенныхразделителем. - Необязательный компонент фрагмента, которому предшествуетhash(
#
). Фрагмент содержитидентификатор фрагмента, указывающийнаправление к вторичному ресурсу, например заголовок раздела в статье, идентифицируемый остальной частью URI. Когда основным ресурсом являетсядокументHTML, фрагмент часто являетсяidатрибутомопределенного элемента, и веб-браузеры будут прокручивать этот элемент для просмотра.
Веб-браузер обычно разыменовывает URL-адрес, выполняя HTTP- запрос на указанный хост, по умолчанию на порт номер 80. URL-адреса, использующие https
схему, требуют, чтобы запросы и ответы выполнялись через безопасное соединение с веб-сайтом .
Интернационализированный URL
Пользователи Интернета распределены по всему миру, использующие самые разные языки и алфавиты, и ожидают, что смогут создавать URL-адреса на своих собственных местных алфавитах. Интернационализированный идентификатор ресурса (IRI) - это форма URL-адреса, которая включает символы Unicode. Все современные браузеры поддерживают IRI. Части URL-адреса, требующие особой обработки для разных алфавитов, - это имя домена и путь. [20] [21]
Доменное имя в IRI известно как интернационализированное доменное имя (IDN). Программное обеспечение Интернета и Интернета автоматически преобразует доменное имя в punycode, используемый системой доменных имен; например, китайский URL http://例子.卷筒纸
станет http://xn--fsqu00a.xn--3lr804guic/
. Значок xn--
указывает на то, что символ изначально не был ASCII. [22]
Имя пути URL также может быть указано пользователем в локальной системе записи. Если он еще не закодирован, он преобразуется в UTF-8 , и любые символы, не входящие в базовый набор символов URL, экранируются как шестнадцатеричные с использованием процентного кодирования ; например, японский URL http://example.com/引き割り.html
становится http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html
. Целевой компьютер декодирует адрес и отображает страницу. [20]
URL-адреса, относящиеся к протоколу
Ссылки, относящиеся к протоколу (PRL), также известные как URL-адреса, относящиеся к протоколу (PRURL), представляют собой URL-адреса, для которых протокол не указан. Например, //example.com
будет использоваться протокол текущей страницы, обычно HTTP или HTTPS. [23] [24]
Смотрите также
- Гиперссылка
- PURL - постоянный URL
- CURIE (компактный URI)
- Идентификатор фрагмента
- Указатель интернет-ресурсов (IRL)
- Интернационализированный идентификатор ресурса (IRI)
- Семантический URL
- Typosquatting
- Единый идентификатор ресурса
- Нормализация URL
- Использование слэшей в сети
Заметки
- ^ URL-адрес подразумевает средства доступа к указанному ресурсу и обозначается протоколом или механизмом доступа, что не относится к каждому URI. [5] [4] Таким образом
http://www.example.com
, это URL, аwww.example.com
это не так. [6] - ^ Процедуры регистрации новых схем URI были первоначально определены в 1999 г. RFC 2717 и теперь определяются RFC 7595 , опубликованный в июне 2015 г. [15]
- ^ Для URI, относящихся к ресурсам во всемирной паутине, некоторые веб-браузеры позволяют
.0
отбрасывать части десятичной записи с точками или использовать необработанные целочисленные IP-адреса. [17] - ^ Исторический RFC 1866 (устарело RFC 2854 ) призывает авторов CGI поддерживать ';' в дополнение к '&'. [19]
Цитаты
- ↑ W3C (2009) .
- ^ «Прямая и обратная косая черта в URL-адресах» . zzz.buzz . Проверено 19 сентября 2018 .
- ↑ RFC 3986 (2005) .
- ^ a b Совместная группа W3C / IETF по планированию URI (2002) .
- ↑ RFC 2396 (1998) .
- ^ Мисслер, Даниэль. «Разница между URL-адресами и URI» .
- ^ W3C (1994) .
- ^ IETF (1992) .
- ^ Бернерс-Ли (1994) .
- ^ a b Бернерс-Ли (2000) .
- ^ BBC News (2009) .
- ^ Бернерс-Ли, Тим ; Коннолли, Дэниел «Дэн» (март 1993 г.). Язык гипертекстовой разметки (проект RFCxxx) (Технический отчет). п. 28.
- ^ Бернерс-Ли, Тим ; Масинтер, Ларри ; МакКахилл, Марк Перри (октябрь 1994 г.). Единые указатели ресурсов (URL) (Технический отчет). цитируется в Ang, CS; Мартин, округ Колумбия (январь 1995 г.). Составной компонентный интерфейс ++ (Технический отчет). Библиотека UCSF и Центр управления знаниями.
- ^ RFC 3986, раздел 3 (2005) .
- ^ IETF (2015) .
- ^ RFC 3986 (2005) , §3.2.2.
- ^ Лоуренс (2014) .
- ^ RFC 2396 (1998) , §3.3.
- ^ RFC 1866 (1995) , §8.2.1.
- ^ а б W3C (2008) .
- ^ W3C (2014) .
- ^ IANA (2003) .
- ^ Глейзер, JD (2013). Безопасная разработка мобильных приложений: как разрабатывать и кодировать безопасные мобильные приложения с помощью PHP и JavaScript . CRC Press . п. 193. ISBN. 978-1-48220903-7. Проверено 12 октября 2015 .
- ^ Шафер, Стивен М. (2011). HTML, XHTML и CSS Библия . Джон Вили и сыновья . п. 124. ISBN 978-1-11808130-3. Проверено 12 октября 2015 .
Рекомендации
- "Бернерс-Ли" извините "за косые черты" . BBC News . 2009-10-14 . Проверено 14 февраля 2010 .
- «Живые документы BoF Minutes» . Консорциум World Wide Web . 1992-03-18 . Проверено 26 декабря 2011 .
- Бернерс-Ли, Тим (1994-03-21). «Унифицированные указатели ресурсов (URL): синтаксис для выражения информации доступа к объектам в сети» . Консорциум World Wide Web . Проверено 13 сентября 2015 .
- Бернерс-Ли, Тим ; Масинтер, Ларри ; МакКахилл, Марк Перри (август 1998 г.). Унифицированные указатели ресурсов (URL) . DOI : 10,17487 / RFC1738 . RFC 1738 . Проверено 31 августа 2015 .
- Бернерс-Ли, Тим (2015) [2000]. "Почему //, # и т. Д.?" . Часто задаваемые вопросы . Консорциум World Wide Web . Проверено 3 февраля 2010 .
- Коннолли, Дэниел «Дэн» ; Сперберг-Маккуин, С. Майкл , ред. (21.05.2009). «Веб-адреса в HTML 5» . Консорциум World Wide Web . Проверено 13 сентября 2015 .
- Управление по присвоению номеров в Интернете (14 февраля 2003 г.). «Завершение выбора префикса IDNA IANA» . Список рассылки IETF-Announce . Архивировано из оригинала на 2004-12-08 . Проверено 3 сентября 2015 .
- Бернерс-Ли, Тим ; Филдинг, Рой Т .; Масинтер, Ларри (август 1998). Универсальные идентификаторы ресурсов (URI): общий синтаксис . DOI : 10,17487 / RFC2396 . RFC 2396 . Проверено 31 августа 2015 .
- Хансен, Тони; Харди, Тед (июнь 2015 г.). Талер, Дэйв (ред.). Рекомендации и процедуры регистрации для схем URI . DOI : 10,17487 / RFC7595 . RFC 7595 .
- Mealling, Майкл ; Дененберг, Рэй, ред. (Август 2002 г.). Отчет Объединенной группы W3C / IETF по планированию URI: унифицированные идентификаторы ресурсов (URI), URL-адреса и универсальные имена ресурсов (URN): пояснения и рекомендации . DOI : 10,17487 / RFC3305 . RFC 3305 . Проверено 13 сентября 2015 .
- Бернерс-Ли, Тим ; Филдинг, Рой Т .; Масинтер, Ларри (январь 2005 г.). Универсальные идентификаторы ресурсов (URI): общий синтаксис . DOI : 10,17487 / RFC3986 . RFC 3986 . Проверено 31 августа 2015 .
- «Введение в многоязычные веб-адреса» . 2008-05-09 . Проверено 11 января 2015 .
- Филипп А. (2014). «Что происходит с« международными URL-адресами » » . Консорциум World Wide Web . Проверено 11 января 2015 .
- Лоуренс, Эрик. «Браузерные арканы: IP-литералы в URL-адресах» . docs.microsoft.com . Архивировано из оригинала на 2020-06-22 . Проверено 22 июня 2020 .
Внешние ссылки
- Спецификация URL на WHATWG
- Компоненты URL от IBM