stringtranslate.com

URL

Единый указатель ресурса ( URL ), в разговорной речи известный как адрес в Интернете , [1] представляет собой ссылку на ресурс , которая определяет его местоположение в компьютерной сети и механизм его получения. URL — это особый тип унифицированного идентификатора ресурса (URI), [2] [3] хотя многие люди используют эти два термина как взаимозаменяемые. [4] [a] URL чаще всего используются для ссылки на веб-страницы ( HTTP / HTTPS ), но также используются для передачи файлов ( FTP ), электронной почты ( mailto ), доступа к базам данных ( JDBC ) и многих других приложений.

Большинство веб-браузеров отображают 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 feather в 1992 году. [7] [8]

Формат объединяет уже существующую систему доменных имен (созданную в 1985 году) с синтаксисом пути файла , где косые черты используются для разделения каталогов и имен файлов . Соглашения уже существовали, когда имена серверов могли быть префиксами для завершения пути файла, с предшествующим им двойным слешем ( //). [9]

Бернерс-Ли позже выразил сожаление по поводу использования точек для разделения частей доменного имени в URI , пожалев, что не использовал косые черты повсюду, [9] а также сказал, что, учитывая двоеточие после первого компонента URI, две косые черты перед доменным именем были излишними. [10]

Ранние участники проекта WorldWideWeb, включая Бернерса-Ли, изначально предлагали использовать UDI: универсальные идентификаторы документов. Ранний (1993) проект спецификации HTML [11] ссылался на «универсальные» локаторы ресурсов. Это было исключено в какой-то момент между июнем 1994 года ( RFC 1630) и октябрем 1994 года (draft-ietf-uri-url-08.txt). [12] В своей книге Weaving the Web Бернерс-Ли подчеркивает свое предпочтение первоначальному включению в расширение слова «универсальный», а не слова «единообразный», на которое оно было позже заменено, и дает краткий отчет о споре, который привел к изменению.

Синтаксис

Каждый HTTP URL соответствует синтаксису универсального URI. Универсальный синтаксис URI состоит из пяти компонентов , организованных иерархически в порядке убывания значимости слева направо: [13] : §3 

URI = схема ":" ["//" полномочия] путь ["?" запрос] ["#" фрагмент]

Компонент не определен , если он имеет связанный разделитель и разделитель не отображается в URI; компоненты схемы и пути всегда определены. [13] : §5.2.1  Компонент пуст, если он не имеет символов; компонент схемы всегда непустой. [13] : §3 

Компонент полномочий состоит из подкомпонентов :

полномочия = [userinfo "@"] хост [":" порт]

На синтаксической диаграмме это представлено следующим образом:

Диаграмма синтаксиса URI

URI включает в себя:

По соглашению, в http и https URI последняя часть пути называетсяpathinfo и он необязателен. Он состоит из нуля или более сегментов пути, которые не ссылаются на существующее имя физического ресурса (например, файл, внутренняя модульная программа или исполняемая программа), а на логическую часть (например, команда или часть квалификатора), которая должна быть передана отдельно в первую часть пути, которая идентифицирует исполняемый модуль или программу, управляемую веб-сервером;это часто используется для выбора динамического содержимого (документа и т. д.) или для его адаптации в соответствии с запросом (см. также:CGIи PATH_INFO и т. д.).
Пример:
URI-адрес:"http://www.example.com/questions/3456/my-document"
где: "/questions"— первая часть пути ( исполняемый модуль или программа), а "/3456/my-document"— вторая часть пути с именем pathinfo , которая передается исполняемому модулю или программе с именем "/questions"для выбора запрошенного документа.
URI http или https, содержащий часть pathinfo без части запроса, также может называться « чистым URL », последняя часть которого может быть « слагом ».

Веб-браузер обычно разыменовывает URL-адрес, выполняя HTTP- запрос к указанному хосту, по умолчанию на порту номер 80. URL-адреса, использующие эту httpsсхему, требуют, чтобы запросы и ответы выполнялись через защищенное соединение с веб-сайтом .

Интернационализированный URL-адрес

Пользователи Интернета распределены по всему миру, используя широкий спектр языков и алфавитов, и ожидают, что смогут создавать URL-адреса на своих собственных локальных алфавитах. Интернационализированный идентификатор ресурса (IRI) — это форма URL-адреса, включающая символы Unicode . Все современные браузеры поддерживают IRI. Части URL-адреса, требующие специальной обработки для разных алфавитов, — это доменное имя и путь. [18] [19]

Доменное имя в IRI известно как интернационализированное доменное имя (IDN). Веб- и интернет-программное обеспечение автоматически преобразует доменное имя в кодировку punycode, пригодную для использования в системе доменных имен ; например, китайский URL http://例子.卷筒纸становится http://xn--fsqu00a.xn--3lr804guic/. Символ xn--указывает на то, что изначально символ не был ASCII . [20]

Имя пути 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. Целевой компьютер декодирует адрес и отображает страницу. [18]

URL-адреса, зависящие от протокола

Ссылки, зависящие от протокола (PRL), также известные как URL-адреса, зависящие от протокола (PRURL), — это URL-адреса, для которых не указан протокол. Например, //example.comбудет использоваться протокол текущей страницы, обычно HTTP или HTTPS. [21] [22]

Смотрите также

Примечания

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

Цитаты

  1. ^ W3C (2009).
  2. ^ "Прямая и обратная косая черта в URL-адресах". zzz.buzz . Архивировано из оригинала 2018-09-04 . Получено 2018-09-19 .
  3. ^ RFC 3986 (2005).
  4. ^ ab Совместная группа W3C/IETF по планированию URI (2002).
  5. ^ RFC 2396 (1998).
  6. ^ Мисслер, Дэниел. "Разница между URL и URI". Архивировано из оригинала 2017-03-17 . Получено 2017-03-16 .
  7. ^ ab W3C (1994).
  8. ^ IETF (1992).
  9. ^ ab Бернерс-Ли (2015).
  10. BBC News (2009).
  11. ^ Бернерс-Ли, Тим ; Коннолли, Дэниел «Дэн» (март 1993 г.). Язык разметки гипертекста (черновик RFCxxx) (технический отчет). стр. 28. Архивировано из оригинала 2017-10-23 . Получено 2017-10-23 .
  12. ^ Бернерс-Ли, Тим ; Масинтер, Ларри ; МакКахилл, Марк Перри (октябрь 1994 г.). Унифицированные указатели ресурсов (URL) (технический отчет).(Этот интернет-проект был опубликован как предлагаемый стандартный RFC, RFC 1738 (1994)) Цитируется в Ang, CS; Martin, DC (январь 1995 г.). Constituent Component Interface++ (технический отчет). Библиотека и Центр управления знаниями UCSF. Архивировано из оригинала 23.10.2017 . Получено 23.10.2017 .
  13. ^ abcd T. Berners-Lee ; R. Fielding ; L. Masinter (январь 2005 г.). Единый идентификатор ресурса (URI): общий синтаксис. Сетевая рабочая группа. doi : 10.17487/RFC3986 . STD 66. RFC 3986. Стандарт Интернета 66. Отменяет RFC 2732, 2396 и 1808. Обновлен RFC 6874, 7320 и 8820. Обновляет RFC 1738.
  14. ^ Хансен, Тони; Харди, Тед (июнь 2015 г.). Талер, Дэйв (ред.). Руководящие принципы и процедуры регистрации для схем URI. Internet Engineering Task Force . doi : 10.17487/RFC7595 . ISSN  2070-1721. BCP 35. RFC 7595. Лучшая текущая практика. Обновлено RFC 8615. Отменяет RFC 4395.
  15. ^ Лоуренс (2014).
  16. ^ T. Berners-Lee ; R. Fielding ; L. Masinter (август 1998 г.). Единые идентификаторы ресурсов (URI): общий синтаксис. Сетевая рабочая группа. doi : 10.17487/RFC2396 . RFC 2396. Устарело. Устарело по RFC 3986. Обновлено по RFC 2732. Обновления RFC 1808 и 1738.
  17. ^ Бернерс-Ли, Тим ; Коннолли, Дэниел В. (ноябрь 1995 г.). Язык разметки гипертекста - 2.0. Сетевая рабочая группа. doi : 10.17487/RFC1866 . RFC 1866. Историческое. Устарело согласно RFC 2854.
  18. ^ ab W3C (2008).
  19. ^ W3C (2014).
  20. ^ IANA (2003).
  21. ^ Glaser, JD (2014-03-10). Безопасная разработка мобильных приложений: как проектировать и кодировать безопасные мобильные приложения с помощью PHP и JavaScript (1-е изд.). CRC Press . стр. 193. ISBN 978-1-48220903-7. Получено 12 октября 2015 г.
  22. ^ Шефер, Стивен М. (2011). HTML, XHTML и CSS Bible (1-е изд.). John Wiley & Sons . стр. 124. ISBN 978-1-11808130-3. Получено 12 октября 2015 г.

Ссылки

Внешние ссылки