Che cos'è uno schema URI?


18

Ho cercato questa domanda, ma non ho trovato una buona risposta.

Anche l'articolo di Wikipedia sugli URI non lo spiega a fondo. Ho pensato che fosse il protocollo per accedere a una pagina web. ad es. HTTP / HTTPS / FTP, ma l'articolo wiki dice diversamente.

Alcuni schemi URI non sono associati ad alcun protocollo specifico (ad es. "File") e molti altri non usano il nome di un protocollo come prefisso (ad es. "Notizie").

So quale parte dell'URL è lo schema . Ma la mia vera domanda era: cosa fa?

Risposte:


17

Ok, so quale parte dell'URL è lo schema. Ma la mia vera domanda era: cosa fa?

Ti dice semplicemente come interpretare la parte dell'URL dopo i due punti.

Ad esempio, in file://usr/share/doc, filemi dice che la parte dopo i due punti dovrebbe essere interpretata come un percorso del filesystem disponibile localmente. Questo non è identico a un protocollo, poiché non esiste alcun livello di trasporto o codifica: un client utilizza semplicemente chiamate di sistema locali regolari per accedervi.

Al contrario, https://programmers.stackexchange.comspecifica un protocollo (https), ma richiede comunque che il client faccia le proprie scelte sul trasporto fisico utilizzato per raggiungerlo.


Quindi urn:isbn:096139210xutilizza il doppio schema? Questo deriva dai documenti java: docs.oracle.com/javase/8/docs/api/java/net/URI.html .
Niing

8

La citazione da Wikipedia potrebbe essere un po 'fuorviante. Ciò significa che, ad esempio, lo file:schema URI non indica quale tipo di modalità viene utilizzata per accedere ai dati (o qualunque cosa indichi). Con http:sai che c'è il protocollo HTTP utilizzato. Con file:tutto ciò che le applicazioni vogliono usare.

Con news:il nome del protocollo è NNTP, ma il nome non lo riflette. Il che è una buona cosa nella mia mente, dal momento che news:è molto più chiaro.

Quindi lo schema URI è solo la prima parte che include i due punti.


1

Lo schema indica il sistema di indirizzamento utilizzato. Gli URL sono in realtà un'unificazione di vari sistemi di indirizzamento disparati. La parte prima dei due punti identifica lo schema in uso e tutto ciò che segue i due punti è sintassi specifica per lo schema. Ogni schema definisce il proprio modo unico di indirizzare le risorse. Ciò rende lo standard URL infinitamente estensibile aggiungendo nuovi schemi.

È difficile dire qualcosa in generale per gli schemi, perché sono selvaggiamente diversi. In molti casi il nome dello schema è il nome di un protocollo che può essere utilizzato per recuperare la risorsa (come http, https, ftp ecc.) Ma non è una regola difficile, ad es. lo schema 'mailto' indica un indirizzo e-mail, ma non un protocollo particolare. Alcuni schemi non corrispondono a nessun protocollo specifico, come lo schema "about" utilizzato nei browser Web, in cui la risorsa non viene recuperata tramite un protocollo, ma è integrata nel client.


0

È la parte prima dei due punti in un URI.

Ad esempio: lo schema per http://en.wikipedia.org/è http. Lo schema per file:///etc/passwdè file. Lo schema per ftp://example.org/resource.txtè ftp.


0

Lo schema è la prima gerarchia di un URI e quindi la parte più "prominente", che viene utilizzata per identificare lo "scopo" della risorsa. Se sei interessato a un "tipo" di risorsa (collegamenti web, notizie, file), puoi dirlo semplicemente controllando lo schema, non l'intera stringa di risorse.

È solo una stringa che rappresenta un insieme di risorse.


0

Mi piace la descrizione di Apple:

Uno schema URL è la parte di un collegamento che specifica il tipo di applicazione utilizzata dal dispositivo per aprire un URL . Molte app supportano gli schemi URL: FaceTime utilizza schemi URL per effettuare chiamate quando facetime://viene aperto un URL che inizia con , proprio come Safari gestisce gli URL che iniziano con http://.

Lo schema URL di collegamento shortcuts://, avvia l'app Collegamenti da un collegamento per eseguire un'attività come l'importazione o l'esecuzione di un collegamento. Questi collegamenti possono essere utili in molti contesti diversi, ad esempio sul Web o quando si utilizzano collegamenti con altre app che supportano l'apertura di URL

fonte

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.