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 в 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] В своей книге «Плетение паутины» Бернерс-Ли подчеркивает свое предпочтение первоначальному включению слова «универсальный» в расширение, а не слову «единый», на которое оно было позже изменено, и дает краткий отчет о разногласия, которые привели к изменениям.

Синтаксис

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

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

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

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

полномочия = [информация пользователя "@"] хост [":" порт]

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

Синтаксическая диаграмма URI

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

По соглашению в URI http и https последняя часть пути называется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-адреса, включающая символы Юникода . Все современные браузеры поддерживают 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]

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

Примечания

  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 . Архивировано из оригинала 04 сентября 2018 г. Проверено 19 сентября 2018 г.
  3. ^ RFC 3986 (2005).
  4. ^ ab Объединенная группа по планированию URI W3C/IETF (2002).
  5. ^ RFC 2396 (1998).
  6. ^ Мисслер, Дэниел. «Разница между URL-адресами и URI». Архивировано из оригинала 17 марта 2017 г. Проверено 16 марта 2017 г.
  7. ^ ab W3C (1994).
  8. ^ IETF (1992).
  9. ^ аб Бернерс-Ли (2015).
  10. ^ Новости BBC (2009).
  11. ^ Бернерс-Ли, Тим ; Коннолли, Дэниел «Дэн» (март 1993 г.). Язык гипертекстовой разметки (проект RFCxxx) (Технический отчет). п. 28. Архивировано из оригинала 23 октября 2017 г. Проверено 23 октября 2017 г.
  12. ^ Бернерс-Ли, Тим ; Масинтер, Ларри ; МакКахилл, Марк Перри (октябрь 1994 г.). Единые указатели ресурсов (URL) (Технический отчет).(Этот Интернет-проект был опубликован как предлагаемый стандарт RFC, RFC 1738 (1994)) Цитируется в Ang, CS; Мартин, округ Колумбия (январь 1995 г.). Компонентный интерфейс++ (Технический отчет). Библиотека UCSF и Центр управления знаниями. Архивировано из оригинала 23 октября 2017 г. Проверено 23 октября 2017 г.
  13. ^ ab RFC 3986 (2005), §3.
  14. ^ RFC 3986 (2005), §5.2.1.
  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. ^ ab W3C (2008).
  21. ^ W3C (2014).
  22. ^ IANA (2003).
  23. ^ Глейзер, JD (10 марта 2014 г.). Безопасная разработка мобильных приложений: как проектировать и кодировать безопасные мобильные приложения с помощью PHP и JavaScript (1-е изд.). ЦРК Пресс . п. 193. ИСБН 978-1-48220903-7. Проверено 12 октября 2015 г.
  24. ^ Шафер, Стивен М. (2011). Библия HTML, XHTML и CSS (1-е изд.). Джон Уайли и сыновья . п. 124. ИСБН 978-1-11808130-3. Проверено 12 октября 2015 г.

Рекомендации

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