La mise en correspondance des autorisations d'hôte et des scripts de contenu s'appuie sur un ensemble d'URL définies par des formats de correspondance. Un format de correspondance est essentiellement une URL qui commence par un schéma autorisé (http
, https
, file
ou ftp
) et qui peut contenir les caractères "*
". Le format spécial <all_urls>
correspond à n'importe quelle 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 URLfile
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 estfile
, il n'existe pas de partie host.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 il est toujours traité comme/*
.
Voici la syntaxe de base :
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
La signification de "*
" varie selon qu'il se trouve dans la partie schéma, hôte ou chemin. Si le schéma est *
, il correspond à http
ou https
, et non à file
, ftp
ou urn
. Si l'hôte n'est que *
, il 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 à zéro ou plusieurs caractères. Le tableau suivant présente quelques formats valides.
Schéma | Description | Exemples d'URL correspondantes |
---|---|---|
http://*/* | Correspond à n'importe quelle URL utilisant le schéma http . | http://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 commence par /foo . | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | Correspond à n'importe quelle URL utilisant le schéma https , se trouvant sur un hôte google.com (comme www.google.com, docs.google.com ou google.com), à condition que le chemin commence par /foo et se termine par bar . | https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html | Correspond à l'URL spécifiée | http://example.org/foo/bar.html |
file:///foo* | Correspond à tout fichier local dont le chemin d'accès commence par /foo | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | Correspond à n'importe quelle URL utilisant le schéma http et se trouvant sur l'hôte 127.0.0.1 | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | Prend en compte toute 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:* | Prend en compte toute 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 la liste des schémas autorisés au début de cette section.) | http://example.org/foo/bar.html file:///bar/baz.html |
Voici quelques exemples de correspondances de format non valides:
Schéma incorrect | Pourquoi elle est mauvaise |
---|---|
http://www.google.com | Aucun chemin d'accès |
http://*foo/bar | Le caractère "*" présent dans host peut être suivi uniquement d'un trait d'union ." ou '/' |
http://foo.*.bar/baz | Si "*" se trouve dans host, il doit s'agir du premier caractère |
http:/bar | Séparateur de schéma manquant ("/" doit être "//") |
foo://* | Schéma non valide |
Certains schémas ne sont pas compatibles avec tous les contextes.