Ana makine izinleri ve içerik komut dosyası eşleşmesi, eşleşme kalıplarıyla tanımlanan bir URL grubuna dayanır. Eşleşme kalıbı, temel olarak izin verilen bir şema (http
, https
, file
veya ftp
) ile başlayan ve "*
" karakterleri içerebilen bir URL'dir. <all_urls>
özel kalıbı, izin verilen bir şema ile başlayan tüm URL'lerle eşleşir. Her eşleme kalıbı 3 bölümden oluşur:
scheme: Örneğin,
http
veyafile
veya*
Not:file
URL'lerine erişim otomatik değildir. Kullanıcı, uzantı yönetimi sayfasını ziyaret edipfile
erişimini isteyen her uzantı için bu erişimi etkinleştirmelidir.ana makine: Örneğin,
www.google.com
veya*.google.com
veya*
. Şemafile
ise ana makine bölümü yoktur.yol: Örneğin,
/*
,/foo*
veya/foo/bar
. Yol, bir ana makine izninde bulunmalıdır ancak her zaman/*
olarak değerlendirilir.
Temel söz dizimi şu şekildedir:
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
"*
" değerinin anlamı, şema, ana makine veya yol bölümünde yer alıp almadığına bağlıdır. Scheme *
ise http
veya https
ile eşleşir ve file
, ftp
veya urn
ile eşleşmez. Ana makine yalnızca *
ise herhangi bir ana makineyle eşleşir. Ana makine *._hostname_
ise belirtilen ana makineyle veya alt alan adlarından biriyle eşleşir. Yol bölümündeki her "*
", 0 veya daha fazla karakterle eşleşir. Aşağıdaki tabloda bazı geçerli kalıplar gösterilmektedir.
Kalıp | Ne işe yarar? | Eşleşen URL örnekleri |
---|---|---|
http://*/* | http şemasını kullanan tüm URL'lerle eşleşir | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | Yol /foo ile başladığı sürece herhangi bir ana makinede http şemasını kullanan tüm URL'lerle eşleşir. | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | Yol /foo ile başlayıp bar ile bittiği sürece https şemasını kullanan ve google.com ana makinesinde (ör. www.google.com, docs.google.com veya google.com) bulunan tüm URL'lerle eşleşir. | https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html | Belirtilen URL ile eşleşiyor | http://example.org/foo/bar.html |
file:///foo* | Yolu /foo ile başlayan tüm yerel dosyalarla eşleşir. | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | http şemasını kullanan ve 127.0.0.1 ana makinesinde bulunan tüm URL'lerle eşleşir | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | http://mail.google.com veya https://mail.google.com ile başlayan tüm URL'lerle eşleşir. | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | urn: ile başlayan tüm URL'lerle eşleşir. | urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582 urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da |
<all_urls> | İzin verilen bir şema kullanan tüm URL'lerle eşleşir. (İzin verilen şemaların listesi için bu bölümün başına bakın.) | http://example.org/foo/bar.html file:///bar/baz.html |
Geçersiz kalıp eşlemelerine bazı örnekler:
Kötü desen | Neden kötü? |
---|---|
http://www.google.com | Yol yok |
http://*foo/bar | Ana makine alanındaki "*" karakterinden sonra yalnızca "." veya "/" gelebilir. |
http://foo.*.bar/baz | Ana makine alanında "*" varsa ilk karakter olmalıdır. |
http:/bar | Şema ayırıcısı eksik ("/" yerine "//" olmalıdır) |
foo://* | Geçersiz şema |
Bazı şemalar tüm bağlamlarda desteklenmez.