Modèles de correspondance

Les autorisations d'hôte et les correspondances de script de contenu sont basées sur un ensemble d'URL définies par correspondance modèles de ML. Un format de correspondance est essentiellement une URL qui commence par un schéma autorisé (http, https, file ou ftp, et pouvant contenir "*" caractères. Le format spécial <all_urls> correspond à toute URL commençant par un schéma autorisé. Chaque modèle de correspondance se compose de trois parties:

  • schéma, par exemple, http, file ou *

    Remarque:L'accès aux URL file n'est pas automatique. L'utilisateur doit consulter la page de gestion des extensions et activer l'accès file pour chaque extension qui en fait la demande.
  • host (par exemple, www.google.com, *.google.com ou *) si le schéma est file, aucune partie host

  • path (chemin d'accès), par exemple, /*, /foo* ou /foo/bar. Le chemin d'accès doit être présent dans une autorisation d'hôte, mais est toujours traitée comme /*.

Voici la syntaxe de base :

&lt;url-pattern&gt; := &lt;scheme&gt;://&lt;host&gt;&lt;path&gt;
&lt;scheme&gt; := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
&lt;host&gt; := '*' | '*.' &lt;any char except '/' and '*'&gt;+
&lt;path&gt; := '/' &lt;any chars&gt;

Signification de "*" dépend de la partie schéma, hôte ou chemin d'accès. Si le scheme est *, il correspond alors à http ou https, et non file, ftp ou urn. Si le host est simplement *, puis correspond à n'importe quel hôte. Si l'hôte est *._hostname_, il correspond à l'hôte spécifié ou l'un de ses sous-domaines. Dans la section path, chaque valeur "*" correspond à 0 ou plus caractères. Le tableau suivant présente quelques modèles valides.

SchémaDescriptionExemples d'URL correspondantes
http://*/*Correspond à n'importe quelle URL utilisant le schéma httphttp://www.google.com/
http://example.org/foo/bar.html
http://*/foo*Correspond à n'importe quelle URL utilisant le schéma http, sur n'importe quel hôte, à condition que le chemin d'accès commence par /foohttp://example.com/foo/bar.html
http://www.google.com/foo
https://*.google.com/foo*barCorrespond à n'importe quelle URL qui utilise le schéma https, se trouve sur un hôte google.com (tel que www.google.com, docs.google.com ou google.com), à condition que le chemin commence par /foo et se termine par barhttps://www.google.com/foo/baz/bar
https://docs.google.com/foobar
http://example.org/foo/bar.htmlCorrespond à l'URL spécifiéehttp://example.org/foo/bar.html
file:///foo*Correspond à tout fichier local dont le chemin d'accès commence par /foofile:///foo/bar.html
file:///foo
http://127.0.0.1/*Correspond à n'importe quelle URL qui utilise le schéma http et qui se trouve sur l'hôte 127.0.0.1http://127.0.0.1/
http://127.0.0.1/foo/bar.html
*://mail.google.com/*Correspond à n'importe quelle URL commençant par http://mail.google.com ou https://mail.google.com.http://mail.google.com/foo/baz/bar
https://mail.google.com/foobar
urn:*Correspond à n'importe quelle URL commençant par urn:.urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582
urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da
<all_urls>Correspond à n'importe quelle URL utilisant un schéma autorisé. (Consultez le début de cette section pour obtenir la liste des schémas autorisés.)http://example.org/foo/bar.html
file:///bar/baz.html

Voici quelques exemples de correspondances de format non valides:

Schéma inadéquatPourquoi est-ce mauvais ?
http://www.google.comAucun chemin
http://*foo/bar"*" dans le champ host ne peut être suivi que par un caractère "." ou "/"
http://foo.*.bar/baz Si "*" se trouve dans l'hôte, il doit s'agir du premier caractère
http:/barIl manque le séparateur de schéma ("/" devrait être "//")
foo://*Schéma non valide

Certains schémas ne sont pas compatibles avec tous les contextes.