Ana makine izinleri ve içerik komut dosyası eşleşmesi, eşleşme kalıplarıyla tanımlanan bir dizi URL'yi temel alır. Eşleşme kalıbı, temelde izin verilen bir şema (http
, https
, file
veya ftp
) ile başlayan ve "*
" karakterlerini 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şleşme kalıbı 3 bölümden oluşur:
şema - örneğin,
http
veyafile
ya da*
Not:file
URL'lere erişim otomatik değildir. Kullanıcı, uzantı yönetimi sayfasını ziyaret etmeli ve istekte bulunan her uzantı içinfile
erişimini etkinleştirmelidir.host (ana makine) - örneğin,
www.google.com
veya*.google.com
veya*
; şemafile
ise host bölümü yokturpath; örneğin,
/*
,/foo*
veya/foo/bar
. Yol, bir ana makine izninde mevcut olmalıdır ancak her zaman/*
olarak değerlendirilir.
Temel söz dizimi şöyledir:
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
"*
" öğesinin anlamı, şema, ana makine veya yol bölümünde olmasına bağlıdır. Şema *
ise http
veya https
ile eşleşir. file
, ftp
veya urn
değil. Ana makine yalnızca *
ise herhangi bir barındırıcıyla eşleşir. Ana makine *._hostname_
ise belirtilen ana makine veya alt alan adlarından biriyle eşleşir. path 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 bir google.com ana makinesinde (www.google.com, docs.google.com veya google.com gibi) bulunan herhangi bir URL ile 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şir | 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 ana makinede 127.0.0.1 olan herhangi bir URL ile 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 |
Aşağıda, geçersiz kalıp eşleşmelerine ilişkin bazı örnekler verilmiştir:
Kötü desen | Neden kötü? |
---|---|
http://www.google.com | Yol yok |
http://*foo/bar | Ana makinede "*" işaretinden sonra yalnızca "." veya "/" işaretleri görüntülenebilir |
http://foo.*.bar/baz | "*" ana makine içindeyse ilk karakter olmalıdır |
http:/bar | Şema ayırıcı eksik ("/", "//" olmalıdır) |
foo://* | Geçersiz şema |
Bazı şemalar tüm bağlamlarda desteklenmez.