Schemi URIURI schemes

Esistono diversi schemi URI (Uniform Resource Identifier) che puoi usare per fare riferimento ai file forniti dal pacchetto dell'app, dalle cartelle di dati dell'app o dal cloud.There are several URI (Uniform Resource Identifier) schemes that you can use to refer to files that come from your app's package, your app's data folders, or the cloud. Puoi inoltre usare uno schema URI per fare riferimento a stringhe caricate dai file di risorse (con estensione resw) dell'app.You can also use a URI scheme to refer to strings loaded from your app's Resources Files (.resw). È possibile usare questi schemi URI nel codice, nel markup XAML, nel manifesto del pacchetto dell'applicazione o nei modelli di notifica dei riquadri e dei popup.You can use these URI schemes in your code, in your XAML markup, in your app package manifest, or in your tile and toast notification templates.

Funzionalità comuni degli schemi URICommon features of the URI schemes

Tutti gli schemi descritti in questo argomento seguono le tipiche regole dello schema URI per la normalizzazione e il recupero delle risorse.All of the schemes described in this topic follow typical URI scheme rules for normalization and resource retrieval. Vedere RFC 3986 per la sintassi generica di un URI.See RFC 3986 for the generic syntax of a URI.

Tutti gli schemi URI definiscono la parte gerarchica per RFC 3986 come componenti dell'autorità e del percorso dell'URI.All of the URI schemes define the hierarchical part per RFC 3986 as the authority and path components of the URI.

URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part   = "//" authority path-abempty
            / path-absolute
            / path-rootless
            / path-empty

Ciò significa che sono essenzialmente presenti tre componenti per un URI.What this means is that there are essentially three components to a URI. Immediatamente dopo le due barre dello schema URI è un componente, che può essere vuoto, denominato autorità.Immediately following the two forward slashes of the URI scheme is a component (which can be empty) called the authority. E immediatamente dopo che è il percorso.And immediately following that is the path. Accettando l'URI http://www.contoso.com/welcome.png come esempio, lo schema è " http:// ", l'autorità è " www.contoso.com " e il percorso è " /welcome.png ".Taking the URI http://www.contoso.com/welcome.png as an example, the scheme is "http://", the authority is "www.contoso.com", and the path is "/welcome.png". Un altro esempio è l'URI ms-appx:///logo.png , in cui i componenti dell'autorità sono vuoti e accetta un valore predefinito.Another example is the URI ms-appx:///logo.png, where the authority components is empty and takes a default value.

Il componente Fragment viene ignorato dall'elaborazione specifica dello schema degli URI indicati in questo argomento.The fragment component is ignored by the scheme-specific processing of the URIs mentioned in this topic. Durante il recupero e il confronto delle risorse, il componente del frammento non ha alcun effetto.During resource retrieval and comparison, the fragment component has no bearing. Tuttavia, i livelli al di sopra di un'implementazione specifica possono interpretare il frammento per recuperare una risorsa secondaria.However, layers above specific implementation may interpret the fragment to retrieve a secondary resource.

Il confronto si verifica byte per byte dopo la normalizzazione di tutti i componenti IRI.Comparison occurs byte for byte after normalization of all IRI components.

Distinzione tra maiuscole e minuscole e normalizzazioneCase-insensitivity and normalization

Tutti gli schemi URI descritti in questo argomento seguono le regole URI tipiche (RFC 3986) per la normalizzazione e il recupero delle risorse per gli schemi.All the URI schemes described in this topic follow typical URI rules (RFC 3986) for normalization and resource retrieval for schemes. La forma normalizzata di questi URI mantiene la distinzione tra maiuscole e minuscole e la percentuale di decodifica dei caratteri RFC 3986 non riservati.The normalized form of these URIs maintains case and percent-decodes RFC 3986 unreserved characters.

Per tutti gli schemi URI descritti in questo argomento, lo schema, l' autoritàe il percorso non fanno distinzione tra maiuscole e minuscole in base allo standard. in caso contrario, vengono elaborati dal sistema senza distinzione tra maiuscole e minuscole.For all the URI schemes described in this topic, scheme, authority, and path are either case-insensitive by standard, or else are processed by the system in a case-insensitive way. Nota L'unica eccezione a tale regola è l' autorità di ms-resource , che fa distinzione tra maiuscole e minuscole.Note The only exception to that rule is the authority of ms-resource, which is case-sensitive.

ms-appx e ms-appx-webms-appx and ms-appx-web

Usare lo ms-appx ms-appx-web schema URI per fare riferimento a un file che deriva dal pacchetto dell'app (vedere Creazione di pacchettidi app).Use the ms-appx or the ms-appx-web URI scheme to refer to a file that comes from your app's package (see Packaging apps). I file nel pacchetto dell'app sono in genere immagini statiche, dati, codice e file di layout.Files in your app package are typically static images, data, code, and layout files. Lo ms-appx-web schema accede agli stessi file di ms-appx , ma nel raggruppamento Web.The ms-appx-web scheme accesses the same files as ms-appx, but in the web compartment. Per esempi e altre informazioni, vedere riferimento a un'immagine o ad altro asset da markup e codice XAML.For examples and more info, see Reference an image or other asset from XAML markup and code.

Nome schema (ms-appx e ms-appx-web)Scheme name (ms-appx and ms-appx-web)

Il nome dello schema URI è la stringa "ms-appx" o "ms-appx-web".The URI scheme name is the string "ms-appx" or "ms-appx-web".

ms-appx://
ms-appx-web://

Authority (ms-appx e ms-appx-web)Authority (ms-appx and ms-appx-web)

L'autorità è il nome dell'identità del pacchetto definito nel manifesto del pacchetto.The authority is the package identity name that is defined in the package manifest. È pertanto limitata nell'URI e nel modulo IRI (International Resource Identifier) al set di caratteri consentiti in un nome di identità del pacchetto.It is therefore limited in both the URI and IRI (Internationalized resource identifier) form to the set of characters allowed in a package identity name. Il nome del pacchetto deve corrispondere al nome di uno dei pacchetti nel grafico delle dipendenze del pacchetto dell'app in esecuzione corrente.The package name must be the name of one of the packages in the current running app's package dependency graph.

ms-appx://Contoso.MyApp/
ms-appx-web://Contoso.MyApp/

Se un altro carattere viene visualizzato nell'autorità, il recupero e il confronto hanno esito negativo.If any other character appears in the authority, then retrieval and comparison fail. Il valore predefinito per l'autorità è il pacchetto dell'applicazione attualmente in esecuzione.The default value for the authority is the currently running app's package.

ms-appx:///
ms-appx-web:///

Informazioni utente e porta (ms-appx e ms-appx-web)User info and port (ms-appx and ms-appx-web)

Lo ms-appx schema, a differenza degli altri schemi più diffusi, non definisce un componente della porta o delle informazioni utente.The ms-appx scheme, unlike other popular schemes, does not define a user info or port component. Poiché " @" and " :" non sono consentiti come valori di autorità validi, la ricerca avrà esito negativo se sono incluse.Since "@" and ":" are not allowed as valid authority values, lookup will fail if they are included. Ognuna delle seguenti operazioni ha esito negativo.Each of the following fails.

ms-appx://john@contoso.myapp/default.html
ms-appx://john:password@contoso.myapp/default.html
ms-appx://contoso.myapp:8080/default.html
ms-appx://john:password@contoso.myapp:8080/default.html

Percorso (ms-appx e ms-appx-web)Path (ms-appx and ms-appx-web)

Il componente path corrisponde alla sintassi RFC 3986 generica e supporta caratteri non ASCII in IRIs.The path component matches the generic RFC 3986 syntax and supports non-ASCII characters in IRIs. Il componente Path definisce il percorso di file logico o fisico di un file.The path component defines the logical or physical file path of a file. Il file si trova in una cartella associata al percorso di installazione del pacchetto dell'app, per l'app specificata dall'autorità.That file is in a folder associated with the installed location of the app package, for the app specified by the authority.

Se il percorso fa riferimento a un percorso fisico e a un nome file, viene recuperato l'asset di file fisico.If the path refers to a physical path and file name then that physical file asset is retrieved. Tuttavia, se non viene trovato alcun file fisico di questo tipo, la risorsa effettiva restituita durante il recupero viene determinata tramite la negoziazione del contenuto in fase di esecuzione.But if no such physical file is found then the actual resource returned during retrieval is determined by using content negotiation at runtime. Questa determinazione si basa su app, sistema operativo e impostazioni utente, ad esempio il linguaggio, il fattore di scala di visualizzazione, il tema, il contrasto elevato e altri contesti di Runtime.This determination is based on app, OS, and user settings such as language, display scale factor, theme, high contrast, and other runtime contexts. Ad esempio, è possibile prendere in considerazione una combinazione di lingue dell'app, le impostazioni di visualizzazione del sistema e le impostazioni a contrasto elevato dell'utente durante la determinazione del valore effettivo della risorsa da recuperare.For example, a combination of the app's languages, the system's display settings, and the user's high contrast settings may be taken into account when determining the actual resource value to be retrieved.

ms-appx:///images/logo.png

L'URI precedente può effettivamente recuperare un file all'interno del pacchetto dell'app corrente con il nome di file fisico seguente.The URI above may actually retrieve a file within the current app's package with the following physical file name.

\Images\fr-FR\logo.scale-100_contrast-white.png

Naturalmente, è possibile recuperare anche lo stesso file fisico facendo riferimento direttamente al relativo nome completo.You could of course also retrieve that same physical file by referring to it directly by its full name.

<Image Source="ms-appx:///images/fr-FR/logo.scale-100_contrast-white.png"/>

Il componente path di ms-appx(-web) è, come gli URI generici, con distinzione tra maiuscole e minuscole.The path component of ms-appx(-web) is, like generic URIs, case sensitive. Tuttavia, quando l'file system sottostante a cui viene eseguito l'accesso alla risorsa non fa distinzione tra maiuscole e minuscole, ad esempio per NTFS, il recupero della risorsa viene fatto senza distinzione tra maiuscole e minuscole.However, when the underlying file system by which the resource is accessed is case insensitive, such as for NTFS, the retrieval of the resource is done case-insensitively.

La forma normalizzata dell'URI mantiene la distinzione tra maiuscole e minuscole e la percentuale di decodifica (un simbolo "%" seguita dalla rappresentazione esadecimale a due cifre) RFC 3986 caratteri non riservati.The normalized form of the URI maintains case, and percent-decodes (a "%" symbol followed by the two-digit hexadecimal representation) RFC 3986 unreserved characters. I caratteri "?", "#", "/", "*" e "" "(carattere virgolette doppie) devono essere codificati in percentuale in un percorso per rappresentare i dati, ad esempio i nomi di file o cartelle.The characters "?", "#", "/", "*", and '"' (the double-quote character) must be percent-encoded in a path to represent data such as file or folder names. Tutti i caratteri con codifica percentuale vengono decodificati prima del recupero.All percent-encoded characters are decoded before retrieval. Pertanto, per recuperare un file denominato Hello # World.html, utilizzare questo URI.Thus, to retrieve a file named Hello#World.html, use this URI.

ms-appx:///Hello%23World.html

Query (ms-appx e ms-appx-web)Query (ms-appx and ms-appx-web)

I parametri di query vengono ignorati durante il recupero delle risorse.Query parameters are ignored during retrieval of resources. Il formato normalizzato dei parametri di query mantiene il caso.The normalized form of query parameters maintains case. I parametri di query non vengono ignorati durante il confronto.Query parameters are not ignored during comparison.

ms-appdatams-appdata

Usare lo ms-appdata schema URI per fare riferimento ai file che provengono dalle cartelle di dati locali, di roaming e temporanee dell'app.Use the ms-appdata URI scheme to refer to files that come from the app's local, roaming, and temporary data folders. Per altre informazioni su queste cartelle di dati dell'app, vedere archiviare e recuperare le impostazioni e altri dati dell'app.For more info about these app data folders, see Store and retrieve settings and other app data.

Lo ms-appdata schema URI non esegue la negoziazione del contenuto di runtime eseguita da ms-appx e ms-appx-web .The ms-appdata URI scheme does not perform the runtime content negotiation that ms-appx and ms-appx-web do. È tuttavia possibile rispondere al contenuto di ResourceContext. QualifierValues e caricare le risorse appropriate dai dati dell'app usando il nome di file fisico completo nell'URI.But you can respond to the contents of ResourceContext.QualifierValues and load the appropriate assets from app data using their full physical file name in the URI.

Nome schema (ms-appdata)Scheme name (ms-appdata)

Il nome dello schema URI è la stringa "ms-appdata".The URI scheme name is the string "ms-appdata".

ms-appdata://

Autorità (ms-appdata)Authority (ms-appdata)

L'autorità è il nome dell'identità del pacchetto definito nel manifesto del pacchetto.The authority is the package identity name that is defined in the package manifest. È pertanto limitata nell'URI e nel modulo IRI (International Resource Identifier) al set di caratteri consentiti in un nome di identità del pacchetto.It is therefore limited in both the URI and IRI (Internationalized resource identifier) form to the set of characters allowed in a package identity name. Il nome del pacchetto deve corrispondere al nome del pacchetto dell'app in esecuzione corrente.The package name must be the name of the current running app's package.

ms-appdata://Contoso.MyApp/

Se un altro carattere viene visualizzato nell'autorità, il recupero e il confronto hanno esito negativo.If any other character appears in the authority, then retrieval and comparison fail. Il valore predefinito per l'autorità è il pacchetto dell'applicazione attualmente in esecuzione.The default value for the authority is the currently running app's package.

ms-appdata:///

Informazioni utente e porta (ms-appdata)User info and port (ms-appdata)

Lo ms-appdata schema, a differenza degli altri schemi più diffusi, non definisce un componente della porta o delle informazioni utente.The ms-appdata scheme, unlike other popular schemes, does not define a user info or port component. Poiché " @" and " :" non sono consentiti come valori di autorità validi, la ricerca avrà esito negativo se sono incluse.Since "@" and ":" are not allowed as valid authority values, lookup will fail if they are included. Ognuna delle seguenti operazioni ha esito negativo.Each of the following fails.

ms-appdata://john@contoso.myapp/local/data.xml
ms-appdata://john:password@contoso.myapp/local/data.xml
ms-appdata://contoso.myapp:8080/local/data.xml
ms-appdata://john:password@contoso.myapp:8080/local/data.xml

Percorso (ms-appdata)Path (ms-appdata)

Il componente path corrisponde alla sintassi RFC 3986 generica e supporta caratteri non ASCII in IRIs.The path component matches the generic RFC 3986 syntax and supports non-ASCII characters in IRIs. All'interno del percorso Windows. storage. ApplicationData sono disponibili tre cartelle riservate per l'archiviazione dello stato locale, roaming e temporaneo.Within the Windows.Storage.ApplicationData location are three reserved folders for local, roaming, and temporary state storage. Lo ms-appdata schema consente l'accesso a file e cartelle in tali percorsi.The ms-appdata scheme allows access to files and folders in those locations. Il primo segmento del componente Path deve specificare la cartella specifica nel modo seguente.The first segment of the path component must specify the particular folder in the following fashion. Quindi, la forma "percorso-vuoto" di "hier-part" non è valida.Thus the "path-empty" form of "hier-part" is not legal.

Cartella locale.Local folder.

ms-appdata:///local/

Cartella temporanea.Temporary folder.

ms-appdata:///temp/

Cartella roaming.Roaming folder.

ms-appdata:///roaming/

Il componente path di ms-appdata è, come gli URI generici, con distinzione tra maiuscole e minuscole.The path component of ms-appdata is, like generic URIs, case sensitive. Tuttavia, quando l'file system sottostante a cui viene eseguito l'accesso alla risorsa non fa distinzione tra maiuscole e minuscole, ad esempio per NTFS, il recupero della risorsa viene fatto senza distinzione tra maiuscole e minuscole.However, when the underlying file system by which the resource is accessed is case insensitive, such as for NTFS, the retrieval of the resource is done case-insensitively.

La forma normalizzata dell'URI mantiene la distinzione tra maiuscole e minuscole e la percentuale di decodifica (un simbolo "%" seguita dalla rappresentazione esadecimale a due cifre) RFC 3986 caratteri non riservati.The normalized form of the URI maintains case, and percent-decodes (a "%" symbol followed by the two-digit hexadecimal representation) RFC 3986 unreserved characters. I caratteri "?", "#", "/", "*" e "" "(carattere virgolette doppie) devono essere codificati in percentuale in un percorso per rappresentare i dati, ad esempio i nomi di file o cartelle.The characters "?", "#", "/", "*", and '"' (the double-quote character) must be percent-encoded in a path to represent data such as file or folder names. Tutti i caratteri con codifica percentuale vengono decodificati prima del recupero.All percent-encoded characters are decoded before retrieval. Pertanto, per recuperare un file locale denominato Hello # World.html, utilizzare questo URI.Thus, to retrieve a local file named Hello#World.html, use this URI.

ms-appdata://local/Hello%23World.html

Il recupero della risorsa e l'identificazione del segmento di percorso di primo livello vengono gestiti dopo la normalizzazione dei punti ("... /./b/c").Retrieval of the resource, and identification of the top level path segment, are handled after normalization of dots (".././b/c"). Pertanto, gli URI non possono delinearsi da una delle cartelle riservate.Therefore, URIs cannot dot themselves out of one of the reserved folders. Pertanto, l'URI seguente non è consentito.Thus, the following URI is not allowed.

ms-appdata:///local/../hello/logo.png

Questo URI è tuttavia consentito (anche se ridondante).But this URI is allowed (albeit redundant).

ms-appdata:///local/../roaming/logo.png

Query (ms-appdata)Query (ms-appdata)

I parametri di query vengono ignorati durante il recupero delle risorse.Query parameters are ignored during retrieval of resources. Il formato normalizzato dei parametri di query mantiene il caso.The normalized form of query parameters maintains case. I parametri di query non vengono ignorati durante il confronto.Query parameters are not ignored during comparison.

MS-Resourcems-resource

Usare lo ms-resource schema URI per fare riferimento alle stringhe caricate dai file di risorse dell'app (con estensione resw).Use the ms-resource URI scheme to refer to strings loaded from your app's Resources Files (.resw). Per esempi e altre informazioni sui file di risorse, vedere localizzare stringhe nell'interfaccia utente e nel manifesto del pacchetto dell'applicazione.For examples and more info about Resources Files, see Localize strings in your UI and app package manifest.

Nome schema (ms-resource)Scheme name (ms-resource)

Il nome dello schema URI è la stringa "ms-resource".The URI scheme name is the string "ms-resource".

ms-resource://

Autorità (ms-resource)Authority (ms-resource)

L'autorità è la mappa delle risorse di primo livello definita nell'indice delle risorse del pacchetto (PRI), che in genere corrisponde al nome dell'identità del pacchetto definito nel manifesto del pacchetto.The authority is the top-level resource map defined in the Package Resource Index (PRI), which typically corresponds to the package identity name that is defined in the package manifest. Vedere Creazione di pacchetti di app).See Packaging apps). È pertanto limitata nell'URI e nel modulo IRI (International Resource Identifier) al set di caratteri consentiti in un nome di identità del pacchetto.It is therefore limited in both the URI and IRI (Internationalized resource identifier) form to the set of characters allowed in a package identity name. Il nome del pacchetto deve corrispondere al nome di uno dei pacchetti nel grafico delle dipendenze del pacchetto dell'app in esecuzione corrente.The package name must be the name of one of the packages in the current running app's package dependency graph.

ms-resource://Contoso.MyApp/
ms-resource://Microsoft.WinJS.1.0/

Se un altro carattere viene visualizzato nell'autorità, il recupero e il confronto hanno esito negativo.If any other character appears in the authority, then retrieval and comparison fail. Il valore predefinito per l'autorità è il nome del pacchetto con distinzione tra maiuscole e minuscole dell'app attualmente in esecuzione.The default value for the authority is the case-sensitive package name of the currently running app.

ms-resource:///

L'autorità fa distinzione tra maiuscole e minuscole e il formato normalizzato ne mantiene il caso.The authority is case sensitive, and the normalized form maintains its case. La ricerca di una risorsa, tuttavia, non fa distinzione tra maiuscole e minuscole.Lookup of a resource, however, happens case-insensitively.

Informazioni utente e porta (ms-resource)User info and port (ms-resource)

Lo ms-resource schema, a differenza degli altri schemi più diffusi, non definisce un componente della porta o delle informazioni utente.The ms-resource scheme, unlike other popular schemes, does not define a user info or port component. Poiché " @" and " :" non sono consentiti come valori di autorità validi, la ricerca avrà esito negativo se sono incluse.Since "@" and ":" are not allowed as valid authority values, lookup will fail if they are included. Ognuna delle seguenti operazioni ha esito negativo.Each of the following fails.

ms-resource://john@contoso.myapp/Resources/String1
ms-resource://john:password@contoso.myapp/Resources/String1
ms-resource://contoso.myapp:8080/Resources/String1
ms-resource://john:password@contoso.myapp:8080/Resources/String1

Percorso (ms-resource)Path (ms-resource)

Il percorso identifica la posizione gerarchica del sottoalbero ResourceMap (vedere il sistema di gestione delle risorse) e il NamedResource al suo interno.The path identifies the hierarchical location of the ResourceMap subtree (see Resource Management System) and the NamedResource within it. In genere, corrisponde al nome file (esclusa l'estensione) di un file di risorse (. resw) e all'identificatore di una risorsa stringa al suo interno.Typically, this corresponds to the filename (excluding extension) of a Resources Files (.resw) and the identifier of a string resource within it.

Per esempi e altre informazioni, vedere localizzare stringhe nel manifesto dell'interfaccia utente e del pacchetto dell'app e supporto delle notifiche di tipo riquadro e avviso popup per la lingua, la scala e il contrasto elevato.For examples and more info, see Localize strings in your UI and app package manifest and Tile and toast notification support for language, scale, and high contrast.

Il componente path di ms-resource è, come gli URI generici, con distinzione tra maiuscole e minuscole.The path component of ms-resource is, like generic URIs, case sensitive. Tuttavia, il recupero sottostante esegue un CompareStringOrdinal con IgnoreCase impostato su true .However, the underlying retrieval does a CompareStringOrdinal with ignoreCase set to true.

La forma normalizzata dell'URI mantiene la distinzione tra maiuscole e minuscole e la percentuale di decodifica (un simbolo "%" seguita dalla rappresentazione esadecimale a due cifre) RFC 3986 caratteri non riservati.The normalized form of the URI maintains case, and percent-decodes (a "%" symbol followed by the two-digit hexadecimal representation) RFC 3986 unreserved characters. I caratteri "?", "#", "/", "*" e "" "(carattere virgolette doppie) devono essere codificati in percentuale in un percorso per rappresentare i dati, ad esempio i nomi di file o cartelle.The characters "?", "#", "/", "*", and '"' (the double-quote character) must be percent-encoded in a path to represent data such as file or folder names. Tutti i caratteri con codifica percentuale vengono decodificati prima del recupero.All percent-encoded characters are decoded before retrieval. Quindi, per recuperare una risorsa di stringa da un file di risorse denominato Hello#World.resw , usare questo URI.Thus, to retrieve a string resource from a Resources File named Hello#World.resw, use this URI.

ms-resource:///Hello%23World/String1

Query (ms-resource)Query (ms-resource)

I parametri di query vengono ignorati durante il recupero delle risorse.Query parameters are ignored during retrieval of resources. Il formato normalizzato dei parametri di query mantiene il caso.The normalized form of query parameters maintains case. I parametri di query non vengono ignorati durante il confronto.Query parameters are not ignored during comparison. I parametri di query vengono confrontati con distinzione maiuscole/minuscole.Query parameters are compared case-sensitively.

Gli sviluppatori di particolari componenti sovrapposti al di sopra di questa analisi dell'URI possono scegliere di usare i parametri di query in base alle esigenze.Developers of particular components layered above this URI parsing may choose to use the query parameters as they see fit.