Co to jest schemat URI?

18

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?

Anton Paras
źródło

Odpowiedzi:

17

Okej, wiem, która część adresu URL to schemat. Ale moim prawdziwym pytaniem było, co to robi?

Mówi po prostu, jak interpretować część adresu URL po dwukropku.

Na przykład in oznacza file://usr/share/doc, że fileczęść po dwukropku należy interpretować jako lokalnie dostępną ścieżkę do systemu plików. Nie jest to identyczne z protokołem, ponieważ nie ma warstwy transportowej ani kodowania - klient po prostu używa regularnych lokalnych wywołań systemowych, aby uzyskać do niego dostęp.

I odwrotnie, https://programmers.stackexchange.comokreśla protokół (https), ale nadal wymaga od klienta samodzielnego wyboru transportu fizycznego użytego do jego osiągnięcia.

Nieprzydatny
źródło
Więc urn:isbn:096139210xużywa podwójnego schematu? Pochodzi z dokumentacji java: docs.oracle.com/javase/8/docs/api/java/net/URI.html .
Niing
8

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). Z http:was wie, tam jest protokół HTTP używany. Dzięki file: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.

Sami Kuhmonen
źródło
1

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.

JacquesB
źródło
0

To część przed dwukropkiem w URI.

Na przykład: program dla http://en.wikipedia.org/Is http. Schemat file:///etc/passwddotyczy file. Schemat ftp://example.org/resource.txtdotyczy ftp.

użytkownik253751
źródło
0

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.

TMS
źródło
0

Podoba mi się opis Apple:

Schemat adresu URL to część łącza określająca typ aplikacji używanej przez urządzenie do otwierania adresu URL . Wiele aplikacji obsługuje schematy adresów URL: FaceTime używa schematów adresów URL do nawiązywania połączeń po facetime://otwarciu adresu URL rozpoczynającego się od , podobnie jak Safari obsługuje adresy URL zaczynające się od http://.

Schemat URL skrótu shortcuts://, uruchamia aplikację Skróty z linku, aby wykonać takie zadanie, jak import lub uruchomienie skrótu. Te linki mogą być przydatne w wielu różnych kontekstach, na przykład w Internecie lub podczas korzystania ze skrótów z innymi aplikacjami obsługującymi otwieranie adresów URL

Źródło

CrazyTim
źródło