Какво точно е URL?

by Mar 15, 2018Знание3 comments

To read the article in English, click here.

Откакто Интернет съществува, URL са представлявали универсален начин за ясно идентифициране на мрежови ресурси: URL-ът е стандарт от 1994г и осигурява на потребителите общия синтаксис, който може да локализира и предостави публично съдържание при поискване. Това прави URL една от най-основните технологии на Интернет. Потребителите могат да използват URL всеки ден, за да си осигурят достъп до ресурси, чрез браузър и функциите на този стандарт не са ограничени до адресиране на уеб-страници.

Какво е URL?

Абревиатурата представлява „Uniform Resource Locator” (буквално преведено като „Унифициран ресурсен локатор“). Това е подвид на унифицираните ресурсни идентификатори (URI). URL структурата кореспонира със синтаксиса на URI.

Като подвид на идентификаторите, URL най-често се свързва с термина „интернет адрес“, заради основната си употреба – адресиране на уеб-страници, но те не са ограничени само с тази функция. Файлове в локалната файлова система също могат да бъдат локализирани, чрез URL. С две думи – всеки интернет адрес е URL, но не всеки URL е интернет адрес.

Структура
Всеки URL се състои от формула и специфична формула:

Формула: Тя определя вида ресурс и метода за достигането до него. URL-ът често има същото име като протоколът на адресата на ниво приложение. Най-често срещаните формули са mailto, file, ftp или http/https.

Специфична формула: Тя зависи от вида формула и е съставена от няколко сегмента, които съдържат местоположението, както и някои процесни параметри.

Разделителя между двете формули е двоеточие. В зависимост от формулата, може да имате нужда и от 2 наклонени черти, които са се използвали често в зората на Интернет, но вече нямат специфична функция.

URL-ът е основан на следния URI синтаксис:

  • Scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

Всеки сегмент от специфичната формула има своя отделна функция. Секциите за потребител (user), парола (password), хост (host) и порт (port) се наричат „Authorities” (авторитети). Авторитетът показва на кое устройство може да бъде намерен даден ресурс и какво име му е дадено.

  • user и password: тези секции съдържат потребителското име и паролата на човека, с разрешен достъп, разделени с двоеточие. И двата детайла са задължителни, ако ресурса има нужда от заверяване. Двата сегмента са разделени с кльомба (@) от URI сегмента за host.
  • Host: Този URI сегмент обикновено включва домейн, който съдържа в себе си домейни от първо, второ и трето ниво, които определят кой специфичен хост трябва да получи ресурса. Името на компютъра може да бъде споменато под формата на IP адрес.
  • Port: определяйки номер на порта, можем да контролираме специфичен TCP/IP порт в мрежата. Тъй като повечето формули вече имат стандартен порт, отделният вход не е задължителен. Стандартните портове са 80 за HTTP, 443 за HTTPS или 21 за FTP. Номер на порта се дава само, ако няма определен главен порт или порт, който по принцип не се използва по подразбиране, бъде ползван за стандартни трансфери на данни. Номерът на порта бива разделян от хост секцията чрез двоеточие.

“Authority” домейнът обикновено се изписва във форма, която човекът може да прочете. Компютрите, от друга страна, работят с IP адресите. Посещението на уебсайт изисква междинна стъпка, незабележима за потребителя – резолюцията на името, базирана на DNS (Domain Name System).

Бележка: DNS се отнася за IP базирана мрежова услуга, която е отговорна за резолюцията за името на домейна в IP адреса. На интернет доставчиците е необходим DNS сървър. Когато потребител посети уеб-страница, техният рутер препраща рикуеста първо на отговорния DNS сървър. Тогава той проверява за съвпадение в IP адресите на искания домейн и изпраща обратно данните. След като рутерът получи избрания IP адрес, тогава отсрещният уеб-адрес може да бъде адресиран.

“Authority” е последван от индикация къде е местоположениоето на ресурса в компютъра, както и къде са останалите компоненти: „низът“ от заявки и идентификатора на фрагменти.

  • path (път): този URI сегмент съдържа ресурса с файловата препратка и разкрива нейното местоположение на целевия компютър. Пътят на файла (File path) винаги започва с „/“.
  • query (заявка): някои уеб-сайтове съдържат изпълними компоненти и в допълнение с file path изискват и „низ“ от заявки (query string). Това включва параметри (напр. потребителски вход), които се подминават заедно с URL и продължават към сървъра. Това е непостоянно при динамичните уеб-страници, които биват създадени само за периода на донасянето на записите на базите данни. Низът от заявки се означава с въпросителен знак („?“).
  • fragment (фрагмент): Ако специфично местоположение в даден ресурс има нужда от препоръка, URL-a завършва с идентификатор на фрагмента. Той е разделен с диез („#“) и обикновено се отнася за идентифициран етикет само и единствено от индекс в HTML документ – като подрубрика например.

Елементите на URI синтаксиса, които съдържат URL зависят от формулата. Построеният URL се определя от типа ресурс. Ето ги и най-известните URL типове:

  • http: Уеб-страниците се показват с помощта на HTTP (Hypertext Transfer Protocol) или HTTPS (Hypertext Transfer Protocol over SSL). Последният пренася данни през сигурна връзка и URL структурата е една и съща и за двата протокола.
  • mailto: Това е URL формула за имейл адреси, която позволява на уебсайт операторите да включват хиперлинкове в своите страници. Когато потребител кликне на mailto линк, повечето браузъри отварят имейл програмата по подразбиране и още един прозорец с ново писмо. Имейл адресът е предварително зададен в специфичната формула на URL и е въведен като адрес на получателя в прозореца с новия имейл.
  • file: Тази формула се използва за да се отворят специфични файлове в компютъра Ви. Ако въведете пътя на файла като URL в адрес-полето на уеб-браузъра, той ще „извика“ поисканата директория или файл. Тъй като формулата се отнася до локален ресурс, тя винаги започва с наклонена черта. Така URL адресът има 3 последователни наклонени черти.
  • ftp: URL адреси, които имат FTP протокол (File Transfer Protocol), позволяват достъп до файлове, които се намират на друг компютър (отдалечен достъп). Тъй като достъпът до други компютри би трябвало да бъде ограничен, FTP протколът съдържа в себе си данни за достъп (потребителско име и парола).

Разрешени символи в URL

URL стандартът поддържа ограничен брой символи от т.нар. Американски стандартен код за обмен на информация (ASCII). В допълнение на това, някои символи вече имат определени функции. Ето ги и тях:

  • : / ? # [ ] @ $ & ‘ ( ) * + , ; =

Например, въпросителният знак (?) означава низ от заявки. Различните параметри в низа са отделени с амперсанд (&). Разделителят между името на параметъра и стойността е равен знак (=).

Символи без предопределена функция са всички букви и цифри, както и следните специални знаци:

  • A-Z, a-z
  • 0-9
  • -. _ ~

Отскоро и символи, които не са включени в ASCII могат да бъдат използвани в URL, но те трябва да бъдат пренаписани. Възможно е също да пренапишете един от запазените знаци с определена функция, за да предотвратите интерпретирането му по предопределено значение. За да конвертира ASCII символи URL стандартът използва маскиращ символ – „%“, както и таблицата със стойности на ASCII в шестнадесетична нотация. Символи, които не са включени в ASCII, също се изписват с помощтта на знака за процент. RFC 3986 препоръчва кодиране, базирано върху ASCII символите и върху UTF-8, но тази препоръка не е обвързваща.

Специалните символи за домейни пък биват конвертирани в съвместими с ASCII низове, чрез punycode.

Разликата между абсолютни и относителни URL адреси

Абсолютните URL адреси са универсално валисни и включват всички сегменти от формулите. Относителните URL адреси са валидни само при специфичен контекст и наследяват някои негови функции, за да може кореспондиращите URL секции да станат излишни и да могат да бъдат пропускани. Информацията, която контекстът предоставя, включва протокола, домейна и пътя към ресурса.

Относителните URL адреси се използват в хиперлинковете на уеб-страницата, които водят до други подстраници в същия сайт. Свързващият URL представлява данните от страницата, към която води.

Следващите примери показват връзката от www.example.org/index/page1 към www.example.org/index/page2 с абсолютни или относителни URL адреси:

Хиперлинк с абсолютен URL:

  • <a href=”http://www.example.org/index/seite2″>Linktext</a>

Хиперлинк с относителен URL:

  • <a href=”/index/seite2″>Linktext</a>

Относителните URL адреси имат предимството да бъдат значително по-къси и да водят към ясен сорс код. Освен това, относителните URL адреси улесняват преместването на домейните. Ако домейн на уебсайт се промени, трябва да бъде подменен ръчно с вътрешен линк, който има абсолютен URL или да бъдат използвани пренасочвания. Това усилие е ненужно при относителните URL адреси, които нямат „authority” и по този начин не е нужна информация за домейна.

Share This

Share This

Share this post with your friends!