Что такое схема URI?

18

Я искал этот вопрос, но не нашел хорошего ответа.

Даже статья в Википедии об URI не объясняет это полностью. Я думал, что это был протокол для доступа к веб-странице. например, HTTP / HTTPS / FTP, но в вики-статье говорится иначе.

Некоторые схемы URI не связаны с каким-либо конкретным протоколом (например, «файл»), а многие другие не используют имя протокола в качестве префикса (например, «новости»).

Я знаю, какой частью URL является схема . Но мой настоящий вопрос был в том, что он делает?

Антон Парас
источник

Ответы:

17

Хорошо, я знаю, какой частью URL является схема. Но мой настоящий вопрос был в том, что он делает?

Он просто говорит вам, как интерпретировать часть URL после двоеточия.

Например, in file://usr/share/doc, fileговорит мне, что часть после двоеточия должна интерпретироваться как локально доступный путь к файловой системе. Это не идентично протоколу, потому что нет транспортного уровня или кодировки - клиент просто использует регулярные локальные системные вызовы для доступа к нему.

И наоборот, https://programmers.stackexchange.comуказывает протокол (https), но все же требует, чтобы клиент сам делал выбор в отношении физического транспорта, используемого для его достижения.

Бесполезный
источник
Так urn:isbn:096139210xиспользует двойную схему? Это из документации по Java: docs.oracle.com/javase/8/docs/api/java/net/URI.html .
Niing
8

Цитата из Википедии может вводить в заблуждение. Это означает, что, например, file:схема URI не указывает, какой способ используется для доступа к данным (или к чему бы то ни было). С http:вами знаем , что есть протокол HTTP используется. С file:это то , что приложения хочет использовать.

С news:именем протокола является NNTP, но имя не отражает это. Что, на мой взгляд, хорошо, так news:как намного понятнее.

Таким образом, схема URI - это только первая часть, включая двоеточие.

Сами Кухмонен
источник
1

Схема указывает используемую систему адресации. URL-адреса действительно являются объединением различных разрозненных систем адресации. Часть перед двоеточием идентифицирует используемую схему, а все после двоеточия - это синтаксис, специфичный для схемы. Каждая схема определяет свой уникальный способ адресации ресурсов. Это делает стандарт URL бесконечно расширяемым за счет добавления новых схем.

Сложно что-то сказать по схемам вообще, потому что они дико разные. Во многих случаях имя схемы - это имя протокола, который можно использовать для извлечения ресурса (например, http, https, ftp и т. Д.), Но это не является жестким правилом, например. схема «mailto» указывает адрес электронной почты, но не конкретный протокол. Некоторые схемы не соответствуют каким-либо конкретным протоколам, таким как схема about, используемая в веб-браузерах, где ресурс вообще не выбирается по протоколу, а встроен в клиент.

JacquesB
источник
0

Это часть перед двоеточием в URI.

Например: схема для http://en.wikipedia.org/есть http. Схема для file:///etc/passwdесть file. Схема для ftp://example.org/resource.txtесть ftp.

user253751
источник
0

Схема является первой иерархией URI и, следовательно, наиболее «заметной» частью, которая используется для определения «цели» ресурса. Если вы заинтересованы в каком-либо «виде» ресурса (веб-ссылки, новости, файлы), вы можете определить это, просто проверив схему, а не всю строку ресурса.

Это просто строка, представляющая набор ресурсов.

TMS
источник
0

Мне нравится описание Apple:

Схема URL-адреса - это часть ссылки, которая указывает тип приложения, которое ваше устройство использует для открытия URL-адреса . Многие приложения поддерживают схемы URL: FaceTime использует схемы URL для выполнения вызовов при facetime://открытии URL, начинающегося с , так же, как Safari обрабатывает URL, начинающиеся с http://.

Схема URL ярлыка shortcuts://, запускает приложение ярлыков по ссылке для выполнения такой задачи, как импорт или запуск ярлыка. Эти ссылки могут быть полезны во многих различных контекстах, например, в Интернете или при использовании ярлыков с другими приложениями, которые поддерживают открытие URL-адресов.

Источник

CrazyTim
источник