Les autorisations d'hôte et la mise en correspondance des scripts de contenu reposent 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 des caractères '*'. Le format spécial <all_urls> correspond à
n'importe quelle URL commençant par un schéma autorisé. Chaque format de correspondance comporte trois parties :
schéma : par exemple,
http,fileou*Remarque : L'accès aux URLfilen'est pas automatique. L'utilisateur doit accéder à la page de gestion des extensions et activer l'accèsfilepour chaque extension qui le demande.hôte : par exemple,
www.google.com,*.google.comou*. Si le schéma estfile, il n'y a pas de partie hôte.chemin : par exemple,
/*,/foo*ou/foo/bar. Le chemin 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 '*' dépend de la partie où il se trouve (schéma, hôte ou chemin). Si le
schéma est *, il correspond à http ou https, et pas à file, ftp ni urn. Si l'hôte ne contient 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 partie chemin, chaque * correspond à 0 ou plusieurs caractères. Le tableau suivant montre quelques formats valides.
| Motif | 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 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 à n'importe quel fichier local dont le chemin commence par /foo | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | Correspond à n'importe quelle URL utilisant le schéma http 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 formats non valides :
| Schéma incorrect | Pourquoi est-il incorrect ? |
|---|---|
http://www.google.com | Absence de chemin |
http://*foo/bar | Si '*' se trouve dans l'hôte , il ne peut être suivi que par '.' ou '/' |
http://foo.*.bar/baz | Si '*' se trouve dans l'hôte, il doit s'agir du premier caractère |
http:/bar | Absence d'un séparateur de schéma ("/" devrait être "//") |
foo://* | Schéma non valide |
Certains schémas ne sont pas compatibles dans tous les contextes.