Шаблоны URL'ов
С помощью шаблонов URL'ов вы можете задать группу адресов, к которым будет применяться политика. Шаблоны URL'ов могут содержать один или несколько подстановочных знаков
*, например *://mysite.com:*/*. Подстановочный знак всегда заменяет элемент целиком. Например, шаблон https://mysit*.com недопустим.Допустимые шаблоны
scheme— чаще всегоhttpилиhttps. Если схемаscheme://не указана или указан*, политика применяется ко всем схемам. Нестандартные схемы поддерживаются только в форматеscheme:*иscheme://*. Поддерживаемые стандартные схемы:about;blob;content;chrome;cid;data;file;filesystem;ftp;gopher;http;https;javascript;mailto;ws;wss.
host— полное доменное имя, включает доменное имя верхнего уровня и поддомены (указываются слева). Еще можно указывать хост, напримерlocalhost. По умолчанию политика применяется только к указанному домену, без поддоменов. Чтобы она применялась к любому поддомену, добавьте перед доменом подстановочный знак[*.], например[*.]mysite.com. Если в шаблоне есть префикс.вhost, то фильтр проходят только точные совпадения сhost.port— номер порта, число от 1 до 65535. Еслиportне указан или указан*, политика применяется ко всем портам.path— URL-адрес. Еслиpathне указан или указан*, политика применяется ко всем путям. Зависит от регистра.query— набор элементов типаkey-valueиkey-onlyв произвольном порядке, разделенных&. Элементыkey-valueразделяются=. Зависит от регистра.file— схема для указания пути к файлам.path— путь должен начинаться с/. Адресfile://dir/myfile.htmlнедопустим, правильный вариант —file:///dir/myfile.html. Подстановочные знаки не используются, за исключением вариантаfile:///*, который означает, что политика будет применяться к файлам по любым адресам в сети.- Домены и порты не указываются. Политика будет применяться к любым доменам и портам
localhost. Например, шаблонfile:///file.htmlбудет соответствовать адресамfile://localhost/file.htmlиfile://mysite.com/file.html.
scheme://host:port/path/@query
a.b.c.d
Вместо домена можно использовать адрес IPv4 вида
a.b.c.d. В IP-адресе использовать подстановочные знаки нельзя. Для схемы, порта или пути — можно, см. предыдущий пункт. [a:b:c:d:e:f:g:h]
Вместо домена можно использовать адрес IPv6, но обязательно с квадратными скобками —
[a:b:c:d:e:f:g:h]. Использовать подстановочные знаки для адреса нельзя, для схемы, порта или пути — можно. file://path
*
Любые URL'ы, схемы, порты и пути.
Порядок фильтрации URL'ов
Шаблоны применяются к наиболее точному совпадению URL'а. В URL'е игнорируются user:pass, разделитель # с последующим содержанием, суффиксы / и . в host.
- Выбираются URL'ы с максимальным совпадением
host. URL'ы с неподходящимиschemeилиportпропускаются. - Из этого списка выбираются URL'ы с максимальным совпадением
path. - Затем выбираются URL'ы с максимальным совпадением элементов
@query. - Если после такой фильтрации не осталось ни одного допустимого URL'а, в
hostудаляется самый левый поддомен, и алгоритм начинается заново с шага 1. - Если URL соответствует шаблону, к нему применяется политика. Если ни один URL не соответствует шаблону, политика не применяется.
Недопустимые шаблоны
| Шаблон | Причина |
[*.].mysite.com | Точка перед mysite. |
file://mysite.com/somefile.html | В URL'е файла нельзя указывать домен. |
file://somefile.html | Только два / вместо необходимых трех. |
http*://mysite.com | Подстановочный знак должен заменять элемент целиком. |
https://mysit*.com | Подстановочный знак должен заменять элемент целиком. |
file://somefile.* | Единственно верный URL файла с подстановочным знаком — file:///*. |
[*.]127.0.0.1 | Использование поддоменов и подстановочного знака с IP-адресами не поддерживается. |
| Шаблон | Причина |
[*.].mysite.com | Точка перед mysite. |
file://mysite.com/somefile.html | В URL'е файла нельзя указывать домен. |
file://somefile.html | Только два / вместо необходимых трех. |
http*://mysite.com | Подстановочный знак должен заменять элемент целиком. |
https://mysit*.com | Подстановочный знак должен заменять элемент целиком. |
file://somefile.* | Единственно верный URL файла с подстановочным знаком — file:///*. |
[*.]127.0.0.1 | Использование поддоменов и подстановочного знака с IP-адресами не поддерживается. |
Примеры шаблонов
*://mysite.com:*/path— подойдет какhttp://mysite.com:80/path, так иhttps://mysite.com:443/path.[*.]mysite.com— подойдет какmysite.com, так иsubdomain.mysite.com, а еще любой схеме, порту и пути.[*.]ysite.com— подойдетsubdomain.ysite.com, но неmysite.com.file:///foo/bar.html— подойдутfile://localhost/foo/bar.htmlиfile://mysite.com/foo/bar.html.file:///*— подойдет любому URL'у, который начинается сfile://.- Схемы, порты и пути можно использовать с IP-адресами, например,
https://[::1]:8080/myfile.html.