Страница полузащищенная
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Uniform Resource Locator ( URL ), в просторечии называется веб - адрес , [1] является ссылкой на веб - ресурс , который определяет его местоположение на компьютерной сети и механизм для извлечения его. URL-адрес - это особый тип универсального идентификатора ресурса (URI), [2] [3], хотя многие люди используют эти два термина как взаимозаменяемые. [4] [a] URL-адреса чаще всего используются для ссылки на веб-страницы ( http ), но также используются для передачи файлов ( ftp ), электронной почты ( mailto ), доступа к базе данных ( JDBC) и многие другие приложения.

Большинство веб-браузеров отображают URL-адрес веб-страницы над страницей в адресной строке . Типичный URL-адрес может иметь форму http://www.example.com/index.html, в которой указаны протокол ( http), имя хоста ( www.example.com) и имя файла ( index.html).

История

Простой пример Uniform Resource Locator

Унифицированные указатели ресурсов были определены в RFC  1738 в 1994 году Тимом Бернерсом-Ли , изобретателем Всемирной паутины , и рабочей группой URI Инженерной группы Интернета (IETF) [7] как результат сотрудничества, начатого в IETF Living Documents " птицы пера" сессия в 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]
    • Необязательный подкомпонент порта, которому предшествует двоеточие ( :).
  • Путь компонент, состоящий из последовательности сегментов пути , разделенные косой чертой ( /). Путь всегда определяется для URI, хотя указанный путь может быть пустым (нулевой длины). Сегмент также может быть пустым, что приводит //к появлению двух последовательных косых черт ( ) в компоненте пути. Компонент пути может напоминать или точно соответствовать пути файловой системы , но не всегда подразумевает связь с ним. Если присутствует компонент полномочий, то компонент пути должен быть пустым или начинаться с косой черты ( /). Если компонент полномочий отсутствует, то путь не может начинаться с пустого сегмента, то есть с двух косых //черт ( ), поскольку следующие символы будут интерпретироваться как компонент полномочий. [18]Последний отрезок пути можно назвать « пробкой ».
  • Необязательный компонент запроса, которому предшествует вопросительный знак ( ?), содержащий строку запроса неиерархических данных. Его синтаксис четко не определен, но по соглашению чаще всего представляет собой последовательность пар атрибут-значение, разделенных разделителем .
  • Необязательный компонент фрагмента, которому предшествует 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
  • КЮРИ (компактный URI)
  • Идентификатор фрагмента
  • Указатель интернет-ресурсов (IRL)
  • Интернационализированный идентификатор ресурса (IRI)
  • Семантический URL
  • Typosquatting
  • Единый идентификатор ресурса
  • Нормализация URL
  • Использование слэшей в сети

Примечания

  1. ^ URL-адрес подразумевает средства доступа к указанному ресурсу и обозначается протоколом или механизмом доступа, что не относится к каждому URI. [5] [4] Таким образомhttp://www.example.com, это URL, аwww.example.comэто не так. [6]
  2. ^ Процедуры регистрации новых схем URI были первоначально определены в 1999 г. в RFC 2717 , а теперь определены вRFC  7595 , опубликованном в июне 2015 г. [15] 
  3. ^ Для URI, относящихся к ресурсам во всемирной паутине, некоторые веб-браузеры позволяют.0отбрасывать части десятичной записи с точками или использовать необработанные целочисленные IP-адреса. [17]
  4. ^ Исторический RFC 1866 (устаревшийRFC  2854 ) призывает авторов CGI поддерживать ';' в добавление к '&'. [19] 

Цитаты

  1. Перейти ↑ W3C (2009) .
  2. ^ «Вперед и обратная косая черта в URL-адресах» . zzz.buzz . Проверено 19 сентября 2018 .
  3. RFC 3986 (2005) .
  4. ^ a b Совместная группа W3C / IETF по планированию URI (2002) .
  5. RFC 2396 (1998) .
  6. ^ Мисслер, Даниэль. «Разница между URL-адресами и URI» .
  7. ^ W3C (1994) .
  8. ^ IETF (1992) .
  9. ^ Бернерс-Ли (1994) .
  10. ^ a b Бернерс-Ли (2000) .
  11. ^ BBC News (2009) .
  12. ^ Бернерс-Ли, Тим ; Коннолли, Дэниел «Дэн» (март 1993 г.). Язык гипертекстовой разметки (проект RFCxxx) (Технический отчет). п. 28.
  13. ^ Бернерс-Ли, Тим ; Масинтер, Ларри ; МакКахилл, Марк Перри (октябрь 1994 г.). Единые указатели ресурсов (URL) (Технический отчет).цитируется в Ang, CS; Мартин, округ Колумбия (январь 1995 г.). Составной компонентный интерфейс ++ (Технический отчет). Библиотека UCSF и Центр управления знаниями.
  14. ^ RFC 3986, раздел 3 (2005) .
  15. ^ IETF (2015) .
  16. ^ RFC 3986 (2005) , §3.2.2.
  17. ^ Лоуренс (2014) .
  18. ^ RFC 2396 (1998) , §3.3.
  19. ^ RFC 1866 (1995) , §8.2.1.
  20. ^ а б W3C (2008) .
  21. ^ W3C (2014) .
  22. ^ IANA (2003) .
  23. Перейти ↑ Glaser, JD (2013). Безопасная разработка мобильных приложений: как разрабатывать и кодировать безопасные мобильные приложения с помощью PHP и JavaScript . CRC Press . п. 193. ISBN. 978-1-48220903-7. Проверено 12 октября 2015 .
  24. ^ Шафер, Стивен М. (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