Відмінності між версіями «URL»

Рядок 8: Рядок 8:
  
 
У цьому записі:
 
У цьому записі:
'''схема'''
+
<br>'''схема'''
схема звернення до ресурсу; в більшості випадків мається на увазі мережевий протокол
+
<br>схема звернення до ресурсу; в більшості випадків мається на увазі мережевий протокол
'''логін'''
+
<br>'''логін'''
ім'я користувача, використовуване для доступу до ресурсу
+
<br>ім'я користувача, використовуване для доступу до ресурсу
'''пароль'''
+
<br>'''пароль'''
пароль указаного користувача
+
<br>пароль указаного користувача
'''хост'''
+
<br>'''хост'''
повністю прописане доменне ім'я хоста в системі DNS або IP-адреса хоста у формі чотирьох десяткових чисел, розділених крапками; числа - натуральні в інтервалі від 0 до 255.
+
<br>повністю прописане доменне ім'я хоста в системі DNS або IP-адреса хоста у формі чотирьох десяткових чисел, розділених крапками; числа - натуральні в інтервалі від 0 до 255.
'''порт'''
+
<br>'''порт'''
порт хоста для підключення
+
<br>порт хоста для підключення
'''URL-шлях'''
+
<br>'''URL-шлях'''
уточнююча інформація про місце знаходження ресурсу; залежить від протоколу.
+
<br>уточнююча інформація про місце знаходження ресурсу; залежить від протоколу.
'''параметри'''
+
<br>'''параметри'''
рядок запиту з переданими на сервер (методом GET) параметрами. Роздільник параметрів - знак '''&'''. Приклад:? Параметр_1 = значення_1 & параметр_2 = значення_2 & параметр3 = значеніе_3
+
<br>рядок запиту з переданими на сервер (методом GET) параметрами. Роздільник параметрів - знак <br>'''&'''. Приклад:? Параметр_1 = значення_1 & параметр_2 = значення_2 & параметр3 = значення_3
якоря
+
<br>'''якоря'''
ідентифікатор «якоря», що посилається на деяку частину (розділ) відкривається документа.
+
<br>ідентифікатор «якоря», що посилається на деяку частину (розділ) відкривається документа.
 
На сьогоднішній день Тім Бернес-Лі визнає, що символ подвійної косої риси у структурі URL є надлишковим.
 
На сьогоднішній день Тім Бернес-Лі визнає, що символ подвійної косої риси у структурі URL є надлишковим.
  
Схеми (протоколи) URL
+
=='''Схеми (протоколи) URL'''==
Загальноприйняті схеми (протоколи) URL включають:
+
<br>Загальноприйняті схеми (протоколи) URL включають:
• ftp - Протокол передачі файлів FTP
+
<br>• ftp - Протокол передачі файлів FTP
• http - Протокол передачі гіпертексту HTTP
+
<br>• http - Протокол передачі гіпертексту HTTP
• https - Спеціальна реалізація протоколу HTTP, що використовує шифрування (як правило, SSL або TLS)
+
<br>• https - Спеціальна реалізація протоколу HTTP, що використовує шифрування (як правило, SSL або TLS)
• gopher - Протокол Gopher
+
<br>• gopher - Протокол Gopher
• mailto - Адреса електронної пошти
+
<br>• mailto - Адреса електронної пошти
• news - Новини Usenet
+
<br>• news - Новини Usenet
• nntp - Новини Usenet через протокол NNTP
+
<br>• nntp - Новини Usenet через протокол NNTP
• irc - Протокол IRC
+
<br>• irc - Протокол IRC
• prospero - Служба каталогів Prospero Directory Service
+
<br>• prospero - Служба каталогів Prospero Directory Service
• telnet - Посилання на інтерактивну сесію Telnet
+
<br>• telnet - Посилання на інтерактивну сесію Telnet
• wais - База даних системи WAIS
+
<br>• wais - База даних системи WAIS
• xmpp - Протокол XMPP (частина Jabber)
+
<br>• xmpp - Протокол XMPP (частина Jabber)
• file - Ім'я локального файлу
+
<br>• file - Ім'я локального файлу
• data - Безпосередні дані (Data: URL)
+
<br>• data - Безпосередні дані (Data: URL)
Екзотичні схеми URL:
+
<br>Екзотичні схеми URL:
• afs - Глобальне ім'я файлу у файловій системі Andrew File System
+
<br>• afs - Глобальне ім'я файлу у файловій системі Andrew File System
• cid - Ідентифікатор вмісту для частин MIME
+
<br>• cid - Ідентифікатор вмісту для частин MIME
• mid - Ідентифікатор повідомлень для електронної пошти
+
<br>• mid - Ідентифікатор повідомлень для електронної пошти
• mailserver - Доступ до даних з поштових серверів
+
<br>• mailserver - Доступ до даних з поштових серверів
• nfs - Ім'я файлу в мережевій файловій системі NFS
+
<br>• nfs - Ім'я файлу в мережевій файловій системі NFS
• tn3270 - Емуляція інтерактивної сесії Telnet 3270
+
<br>• tn3270 - Емуляція інтерактивної сесії Telnet 3270
• z39.50 - Доступ до служб ANSI Z39.50
+
<br>• z39.50 - Доступ до служб ANSI Z39.50
• skype - Протокол Skype
+
<br>• skype - Протокол Skype
• smsto - Відкриття редактора SMS в деяких мобільних телефонах
+
<br>• smsto - Відкриття редактора SMS в деяких мобільних телефонах
• ed2k - Файлообмінна мережа eDonkey, побудована за принципом P2P
+
<br>• ed2k - Файлообмінна мережа eDonkey, побудована за принципом P2P
 +
 
 +
 
 +
=='''Кодування URL'''==
 +
 
 +
Поява адрес URL стало суттєвим нововведенням в Інтернеті. Проте з моменту його винаходу і до цього дня стандарт URL володіє серйозним недоліком - у ньому можна використовувати тільки обмежений набір символів, навіть менший, ніж в ASCII: латинські літери, цифри і лише деякі розділові знаки. Якщо ми захочемо використовувати в URL символи кирилиці, або ієрогліфи, або, скажімо, специфічні символи французької мови, то потрібні нам символи повинні бути перекодовані особливим чином.
 +
 
 +
У російськомовній Вікіпедії щодня доводиться бачити приклад кодування URL, оскільки російська мова використовує символи кирилиці. Наприклад, рядок виду:
 +
 
 +
<nowiki>http://ru.wikipedia.org/wiki/Микрокредит</nowiki>
 +
 
 +
<br>кодується в URL як:
 +
 
 +
<nowiki>http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82</nowiki>
 +
Таке перетворення відбувається в два етапи: спочатку кожен символ кирилиці кодується в Юнікод ([[UTF-8]]) в послідовність з двох байтів, а потім кожен байт цієї послідовності записується в [[шістнадцяткова система числення | шістнадцятковому]] поданні:
 +
 
 +
М → D0 и 9C → %D0%9C
 +
и → D0 и B8 → %D0%B8
 +
к → D0 и BA → %D0%BA
 +
р → D1 и 80 → %D1%80, и т. д.
 +
Перед кожним таким шістнадцятковим кодом байта, згідно специфікації URL [2], ставиться знак відсотка (%) - звідси навіть виник англійський термін «percent-encoding», що позначає спосіб кодування символів в URL і URI.
 +
 
 +
<br>Інші поширені, але неприпустимі в URL символів кодується у такому відповідно:

Версія за 01:39, 31 січня 2011

Історія

URL був винайдений Тімом Бернерсом-Лі в 1990 році в стінах Європейської ради з ядерних досліджень (фр. Conseil Européen pour la Recherche Nucléaire, CERN) у Женеві, Швейцарія. URL став фундаментальною інновацією в Інтернеті. Спочатку URL призначався для позначення місць розташування ресурсів (найчастіше файлів) у Всесвітній павутині. Зараз URL застосовується для позначення адрес майже всіх ресурсів Інтернету. Стандарт URL закріплений у документі RFC 1738, колишня версія була визначена в RFC 1630. Зараз URL позиціонується як частина більш загальної системи ідентифікації ресурсів URI, сам термін URL поступово поступається місцем більш широкому терміну URI. Стандарт URL регулюється організацією IETF і її підрозділами.

Структура URL

Спочатку локатор URL був розроблений як система для максимально спрощенї вказівки на місцезнаходження ресурсів у мережі. Локатор повинен був бути легко розширюваною і використовувати лише обмежений набір ASCII-символів (наприклад, пропуск ніколи не застосовується в URL). У зв'язку з цим, виникла наступна традиційна форма запису URL:

<Схема >://< логін>: <пароль> @ <хост>: <порт> / <URL-путь>? <Параметри> # <якір>

У цьому записі:
схема
схема звернення до ресурсу; в більшості випадків мається на увазі мережевий протокол
логін
ім'я користувача, використовуване для доступу до ресурсу
пароль
пароль указаного користувача
хост
повністю прописане доменне ім'я хоста в системі DNS або IP-адреса хоста у формі чотирьох десяткових чисел, розділених крапками; числа - натуральні в інтервалі від 0 до 255.
порт
порт хоста для підключення
URL-шлях
уточнююча інформація про місце знаходження ресурсу; залежить від протоколу.
параметри
рядок запиту з переданими на сервер (методом GET) параметрами. Роздільник параметрів - знак
&. Приклад:? Параметр_1 = значення_1 & параметр_2 = значення_2 & параметр3 = значення_3
якоря
ідентифікатор «якоря», що посилається на деяку частину (розділ) відкривається документа. На сьогоднішній день Тім Бернес-Лі визнає, що символ подвійної косої риси у структурі URL є надлишковим.

Схеми (протоколи) URL


Загальноприйняті схеми (протоколи) URL включають:
• ftp - Протокол передачі файлів FTP
• http - Протокол передачі гіпертексту HTTP
• https - Спеціальна реалізація протоколу HTTP, що використовує шифрування (як правило, SSL або TLS)
• gopher - Протокол Gopher
• mailto - Адреса електронної пошти
• news - Новини Usenet
• nntp - Новини Usenet через протокол NNTP
• irc - Протокол IRC
• prospero - Служба каталогів Prospero Directory Service
• telnet - Посилання на інтерактивну сесію Telnet
• wais - База даних системи WAIS
• xmpp - Протокол XMPP (частина Jabber)
• file - Ім'я локального файлу
• data - Безпосередні дані (Data: URL)
Екзотичні схеми URL:
• afs - Глобальне ім'я файлу у файловій системі Andrew File System
• cid - Ідентифікатор вмісту для частин MIME
• mid - Ідентифікатор повідомлень для електронної пошти
• mailserver - Доступ до даних з поштових серверів
• nfs - Ім'я файлу в мережевій файловій системі NFS
• tn3270 - Емуляція інтерактивної сесії Telnet 3270
• z39.50 - Доступ до служб ANSI Z39.50
• skype - Протокол Skype
• smsto - Відкриття редактора SMS в деяких мобільних телефонах
• ed2k - Файлообмінна мережа eDonkey, побудована за принципом P2P


Кодування URL

Поява адрес URL стало суттєвим нововведенням в Інтернеті. Проте з моменту його винаходу і до цього дня стандарт URL володіє серйозним недоліком - у ньому можна використовувати тільки обмежений набір символів, навіть менший, ніж в ASCII: латинські літери, цифри і лише деякі розділові знаки. Якщо ми захочемо використовувати в URL символи кирилиці, або ієрогліфи, або, скажімо, специфічні символи французької мови, то потрібні нам символи повинні бути перекодовані особливим чином.

У російськомовній Вікіпедії щодня доводиться бачити приклад кодування URL, оскільки російська мова використовує символи кирилиці. Наприклад, рядок виду:

http://ru.wikipedia.org/wiki/Микрокредит


кодується в URL як:

http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82 Таке перетворення відбувається в два етапи: спочатку кожен символ кирилиці кодується в Юнікод (UTF-8) в послідовність з двох байтів, а потім кожен байт цієї послідовності записується в шістнадцятковому поданні:

М → D0 и 9C → %D0%9C

и → D0 и B8 → %D0%B8
к → D0 и BA → %D0%BA
р → D1 и 80 → %D1%80, и т. д.

Перед кожним таким шістнадцятковим кодом байта, згідно специфікації URL [2], ставиться знак відсотка (%) - звідси навіть виник англійський термін «percent-encoding», що позначає спосіб кодування символів в URL і URI.


Інші поширені, але неприпустимі в URL символів кодується у такому відповідно: