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 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 veya file 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çin file erişimini etkinleştirmelidir.
  • host (ana makine) - örneğin, www.google.com veya *.google.com veya *; şema file ise host bölümü yoktur

  • path; ö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:

&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;

"*" öğ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ı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şirhttp://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 bir google.com ana makinesinde (www.google.com, docs.google.com veya google.com gibi) bulunan herhangi bir URL ile eşleşirhttps://www.google.com/foo/baz/bar
https://docs.google.com/foobar
http://example.org/foo/bar.htmlBelirtilen URL ile eşleşirhttp://example.org/foo/bar.html
file:///foo*Yolu /foo ile başlayan tüm yerel dosyalarla eşleşirfile:///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ü desenNeden kötü?
http://www.google.comYol yok
http://*foo/barAna 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.