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 URLfile
n'est pas automatique. L'utilisateur doit consulter la page de gestion des extensions et activer l'accèsfile
pour chaque extension qui en fait la demande.host (par exemple,
www.google.com
,*.google.com
ou*
) si le schéma estfile
, aucune partie hostpath (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 :
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
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é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 d'accès commence par /foo | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | Correspond à 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 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 qui utilise le schéma http et qui se trouve sur l'hôte 127.0.0.1 | http://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équat | Pourquoi est-ce mauvais ? |
---|---|
http://www.google.com | Aucun 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:/bar | Il 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.