Eşleşme kalıpları

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 veya file veya *

    Not: file URL'lerine erişim otomatik değildir. Kullanıcı, uzantı yönetimi sayfasını ziyaret edip file erişimini isteyen her uzantı için bu erişimi etkinleştirmelidir.
  • ana makine: Örneğin, www.google.com veya *.google.com veya *. Şema file 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:

&lt;url-pattern&gt; := &lt;scheme&gt;://&lt;host&gt;&lt;path&gt;
&lt;scheme&gt; := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
&lt;host&gt; := '*' | '*.' &lt;any char except '/' and '*'&gt;+
&lt;path&gt; := '/' &lt;any chars&gt;

"*" 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ıpNe işe yarar?Eşleşen URL örnekleri
http://*/*http şemasını kullanan tüm URL'lerle eşleşirhttp://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*barYol /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.htmlBelirtilen URL ile eşleşiyorhttp://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şirhttp://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ü desenNeden kötü?
http://www.google.comYol yok
http://*foo/barAna 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.