Универсальный указатель ресурсов | |
Статус | Опубликовано |
---|---|
Впервые опубликовано | 1994; 26 лет назад (1994) |
Последняя версия | Living Standard. 2020 |
Организация | Инженерная группа Интернета (IETF) |
Комитет | Веб-приложение для гипертекста Рабочая группа по технологиям (WHATWG) |
Редакторы | Энн ван Кестерен |
Авторы | Тим Бернерс-Ли |
Базовые стандарты | RFC 3986. - Универсальный идентификатор ресурса (URI): общий синтаксис.. RFC 4248. - Схема telnet URI.. RFC 4266. - Схема URI суслика.. RFC 6068. - Схема URI «mailto».. RFC 6196. - Перемещение почтового сервера: Схема URI в Историческую.. RFC 6270. - Схема URI «tn3270».. |
Связанные стандарты | URI, URN |
Домен | World Wide Web |
Лицензия | CC BY 4.0 |
Аббревиатура | URL |
Веб-сайт | https://url.spec.whatwg.org |
A Унифицированный указатель ресурсов (URL ), в просторечии называемый веб-адресом, является справочным к веб-ресурсу, который указывает его расположение в компьютерной сети и механизм его получения. URL-адрес - это особый тип унифицированного идентификатора ресурса (URI), хотя многие люди используют эти два термина как синонимы. URL-адреса чаще всего используются для ссылки на веб-страницы (http ), но также используются для передачи файлов (ftp ), электронной почты (mailto ), доступ к базе данных (JDBC ) и многие другие приложения.
Большинство веб-браузеров отображают URL-адрес веб-страницы над страницей в адресной строке. Типичный URL-адрес может иметь вид http://www.example.com/index.html
, который указывает протокол (http
), имя хоста ( www.example.com
) и имя файла (index.html
).
Универсальные указатели ресурсов были определены в RFC 1738 в 1994 году Тимом Бернерсом-Ли, изобретатель World Wide Web и рабочая группа URI Internet Engineering Task Force (IETF), в результате сотрудничества, начатого в IETF Living Documents сеанс «птицы пера» в 1992 году.
Формат объединяет ранее существовавшую систему доменных имен (созданную в 1985 году) с путем к файлу, где косые черты используются для разделения каталога и имен файлов. Уже существовали соглашения, согласно которым имена серверов могли быть дополнены префиксом к полному пути к файлу, которому предшествовала двойная косая черта (//
).
Бернерс-Ли позже выразил сожаление по поводу использования точек для разделения частей доменного имени внутри URI, жалея, что он не использовал косые черты повсюду, а также сказал, что, учитывая двоеточие после первого компонента URI, две косые черты перед доменным именем не нужны.
Ранний (1993)) черновик спецификации HTML, относящийся к "универсальным" локаторам ресурсов. Он был исключен в период с июня 1994 г. (RFC 1630 ) по октябрь 1994 г. (draft-ietf-uri-url-08.txt).
Каждый URL-адрес HTTP соответствует синтаксису универсального URI. Общий синтаксис URI состоит из иерархической последовательности из пяти компонентов:
URI = scheme: [// полномочия] путь [? query] [# фрагмент]
где компонент полномочий делится на три подкомпонента:
Authority = [userinfo @] host [: port]
Это представлено в синтаксическая диаграмма как:
URI содержит:
:
), состоящее из последовательности символы, начинающиеся с буквы, за которыми следует любая комбинация букв, цифр, плюс (+
), точка (.
) или дефис (-
). Хотя в схемах регистр не учитывается, в канонической форме используются строчные буквы, и в документах, в которых указаны схемы, должны использоваться строчные буквы. Примеры популярных схем: http
, https
, ftp
, mailto
, file
, data
и irc
. Схемы URI должны быть зарегистрированы в Internet Assigned Numbers Authority (IANA), хотя на практике используются незарегистрированные схемы.//
), содержащий: :
), за которым следует символ at (@
). Использование формата имя пользователя: пароль
в подкомпоненте информации о пользователе не рекомендуется из соображений безопасности. Приложения не должны отображать в виде открытого текста любые данные после первого двоеточия (:
), обнаруженные в подкомпоненте userinfo, если только данные после двоеточия не являются пустой строкой (указывающей без пароля).).
:
)./
). Путь всегда определяется для URI, хотя указанный путь может быть пустой (нулевая длина). Сегмент также может быть пустым, что приведет к двум последовательным косым чертам (//
) в компоненте пути. Компонент пути может напоминать или точно соответствовать пути файловой системы, но не всегда подразумевает отношение к единице. Если компонент полномочий присутствует, то компонент пути должен быть пустым или начинаться с косой черты (/
). Если компонент полномочий отсутствует, тогда путь не может начинаться с пустого сегмента, то есть с двух косых черт (//
), так как следующие символы будут интерпретироваться как авторитетный компонент. Последний сегмент пути может называться 'slug '.разделитель запроса r | Пример |
---|---|
амперсанд ( ) | ключ1 = значение1 ключ2 = значение2 |
точка с запятой (; ) | ключ1 = значение1; ключ2 = значение2 |
?
), содержащим строку запроса неиерархических данных. Его синтаксис не очень хорошо определен, но по соглашению чаще всего представляет собой последовательность пар атрибут-значение, разделенных разделителем .#
). Фрагмент содержит идентификатор фрагмента , указывающий направление на вторичный ресурс, например заголовок раздела в статье, идентифицированный остальной частью URI. Когда основным ресурсом является документ HTML, фрагмент часто является атрибутом id
определенного элемента, и веб-браузеры прокручивают этот элемент для просмотра.Обычно веб-браузер разыменовать URL-адрес, выполнив запрос HTTP на указанный хост, по умолчанию на порт номер 80. URL-адреса, использующие схему https
, требуют, чтобы запросы и ответы выполнялись через безопасное соединение с веб-сайтом.
Пользователи Интернета распределены по всему миру, использующие широкий спектр языков и алфавитов, и ожидают, что смогут создавать URL-адреса на своих собственных локальных алфавитах. Интернационализированный идентификатор ресурса (IRI) - это форма URL-адреса, которая включает символы Unicode. Все современные браузеры поддерживают IRI. Части URL-адреса, требующие особой обработки для разных алфавитов, - это имя домена и путь.
Имя домена в IRI известно как международное доменное имя (IDN). Программное обеспечение для Интернета и Интернета автоматически преобразует доменное имя в punycode, которое может использовать Система доменных имен; например, китайский URL http: // 例子. 卷筒纸
становится http: //xn--fsqu00a.xn--3lr804guic/
. xn-
указывает, что символ изначально не был ASCII.
Имя пути 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
. Целевой компьютер декодирует адрес и отображает страницу.
Ссылки, относящиеся к протоколу (PRL), также известные как URL-адреса, относящиеся к протоколу (PRURL), - это URL-адреса, которые имеют протокол не указан. Например, //example.com
будет использовать протокол текущей страницы, обычно HTTP или HTTPS.