Szukałem tego pytania, ale nie znalazłem dobrej odpowiedzi.
Nawet artykuł w Wikipedii na temat URI nie wyjaśnia tego dokładnie. Myślałem, że to protokół dostępu do strony internetowej. np. HTTP / HTTPS / FTP, ale artykuł wiki mówi inaczej.
Niektóre schematy URI nie są powiązane z żadnym konkretnym protokołem (np. „Plik”), a wiele innych nie używa nazwy protokołu jako prefiksu (np. „Aktualności”).
Wiem, która część adresu URL jest schematem . Ale moim prawdziwym pytaniem było, co to robi?
urn:isbn:096139210x
używa podwójnego schematu? Pochodzi z dokumentacji java: docs.oracle.com/javase/8/docs/api/java/net/URI.html .Cytat z Wikipedii może być nieco mylący. Oznacza to, że na przykład
file:
schemat URI nie określa, w jaki sposób można uzyskać dostęp do danych (lub cokolwiek, na co wskazuje). Zhttp:
was wie, tam jest protokół HTTP używany. Dziękifile:
temu wszystko, czego chcą aplikacje.Z
news:
nazwą protokołu NNTP jest, ale nazwa nie odzwierciedla tego. Co jest dobre w mojej opinii, ponieważnews:
jest o wiele wyraźniejsze.Tak więc schemat URI to tylko pierwsza część, w tym dwukropek.
źródło
Schemat wskazuje używany system adresowania. Adresy URL są naprawdę unifikacją różnych systemów adresowania. Część przed dwukropkiem identyfikuje używany schemat, a wszystko po dwukropku jest specyficzne dla składni. Każdy schemat określa swój unikalny sposób adresowania zasobów. Dzięki temu standardowy adres URL jest nieskończenie rozszerzalny poprzez dodanie nowych schematów.
Trudno powiedzieć ogólnie o schematach, ponieważ są one bardzo różne. W wielu przypadkach nazwa schematu to nazwa protokołu, którego można użyć do pobrania zasobu (np. Http, https, ftp itp.), Ale nie jest to trudna reguła, np. schemat „mailto” wskazuje adres e-mail, ale nie konkretny protokół. Niektóre schematy nie odpowiadają żadnemu konkretnemu protokołowi, jak na przykład schemat „about” stosowany w przeglądarkach internetowych, w którym zasób nie jest w ogóle pobierany przez protokół, ale jest wbudowany w klienta.
źródło
To część przed dwukropkiem w URI.
Na przykład: program dla
http://en.wikipedia.org/
Ishttp
. Schematfile:///etc/passwd
dotyczyfile
. Schematftp://example.org/resource.txt
dotyczyftp
.źródło
Schemat jest pierwszą hierarchią identyfikatora URI, a zatem najbardziej „widoczną” częścią, która służy do identyfikacji „celu” zasobu. Jeśli jesteś zainteresowany jakimś „rodzajem” zasobu (linki internetowe, wiadomości, pliki), możesz to stwierdzić, po prostu sprawdzając schemat - nie cały ciąg zasobów.
To tylko ciąg znaków reprezentujący zestaw zasobów.
źródło
Podoba mi się opis Apple:
Źródło
źródło