Унифициран идентификатор на ресурси (URI) — дефиниция и примери
Научете какво е URI: ясна дефиниция, разлика от URL и практични примери (https, ftp, mailto). Пълно ръководство за именуване на ресурси в интернет.
В компютрите унифицираният идентификатор на ресурси (URI) е синтактично означение, което се използва за идентифициране или назоваване на ресурс в цифрова среда — най-често в интернет. URI служи като универсален начин за позоваване на нещо, независимо дали това "нещо" е документ на уеб сървър, електронна поща, FTP файл или именувана концепция (например чрез URN).
URI са близки по идея до URL адресите, но терминът URI е по-общ: всеки URL е URI, но не всеки URI е URL. URL (Uniform Resource Locator) указва местоположението на ресурса и как да се достъпи той; URN (Uniform Resource Name) служи за постоянна идентификация независимо от местоположението.
Примерите за URI включват:
- https://example.org/absolute/URI/with/absolute/path/to/resource.txt
- ftp://example.org/resource.txt
issn1535-3613 mailto:[email protected]
Компоненти на URI
- Схема (scheme) — указва протокола или типа на достъп (напр. http, https, ftp, mailto, urn).
- Авторитет (authority) — обикновено съдържа хост (домен или IP) и по желание порт; в примера https://example.org/... авторитетът е example.org.
- Път (path) — локализацията на ресурса на сървъра, напр. /absolute/URI/with/absolute/path/to/resource.txt.
- Запитване (query) — част след въпросителна, използва се за параметри (напр. ?q=search).
- Фрагмент (fragment) — част след #, обозначава подчаст от ресурса (напр. #section1).
Примери и обяснения
- https://example.org/absolute/URI/with/absolute/path/to/resource.txt — пример за абсолютен URI със схема https, домейн example.org и пълен път до файл.
- ftp://example.org/resource.txt — URI, който използва FTP протокол за достъп до файл.
- mailto:[email protected] — URI със схема mailto, който идентифицира електронен пощенски адрес (в някои среди отваря клиент за електронна поща).
- urn:issn:1535-3613 — пример за URN, използващ пространството от имена за ISSN; в изходния текст е даден низ issn1535-3613, който показва свързана идентификация (запазен е оригиналният елемент точно както е бил).
Относителни vs. абсолютни URI
Абсолютен URI съдържа всички необходими части (включително схема и авторитет), за да бъде напълно определен. Относителният URI задава път спрямо друг (базов) URI и се разрешава към абсолютен при смесване с базовия.
Кодиране и допустими символи
В URIs има разделение между резервирани и нерезервирани символи. Нерезервираните (напр. букви, цифри, '-', '.', '_', '~') могат да се използват директно, докато други символи трябва да бъдат кодирани чрез процентно кодиране (percent-encoding), например интервалът става %20.
Разлика между URI, URL и URN
- URI — общ термин за идентификатор на ресурс.
- URL — подвид на URI, който указва как и къде да се намери ресурсът (локатор).
- URN — подвид на URI, който служи като постоянен, независим от местоположението идентификатор (името на ресурса).
Практически бележки и безопасност
- Нормализиране: при сравнение на URIs често се прилагат правила за нормализиране (премахване на порта по подразбиране, декодиране на определени последователности и т.н.).
- Сигурност: внимавайте с въвеждане на URI от потребители — потенциални XSS атаки, фалшиви връзки или инжекции могат да използват специални схеми (напр. javascript:). Ограничете и валидирайте позволените схеми, когато приемате URI-и от външни източници.
- Обслужване на различни схеми: някои системи поддържат само ограничен набор схеми (http/https), други — допълнителни (ftp, mailto, file, urn и т.н.).
URI са основен инструмент за адресиране и идентификация в мрежовите технологии. Разбирането на компонентите им, правилното кодиране и разликите между URL/URN помагат да се използват ефективно и сигурно.
обискирам