مجوزهای میزبان و تطابق اسکریپت محتوا بر اساس مجموعهای از URLهایی است که با الگوهای مطابقت تعریف شدهاند. الگوی تطبیق اساساً یک نشانی وب است که با یک طرح مجاز شروع میشود ( http ، https ، file ، یا ftp ، و میتواند حاوی کاراکترهای « * » باشد. الگوی ویژه <all_urls> با هر URL که با یک طرح مجاز شروع میشود مطابقت دارد. الگو دارای 3 قسمت است:
طرح - برای مثال،
httpیاfileیا*توجه: دسترسی به URL هایfileبه صورت خودکار نیست. کاربر باید از صفحه مدیریت برنامههای افزودنی بازدید کند و برای هر افزونهای که درخواست میکند، دسترسی بهfileرا انتخاب کند.میزبان — برای مثال
www.google.comیا*.google.comیا*; اگر طرحfileباشد، هیچ قسمت میزبانی وجود نداردمسیر — برای مثال
/*،/foo*یا/foo/bar. مسیر باید در مجوز میزبان وجود داشته باشد، اما همیشه به عنوان/*در نظر گرفته می شود.
در اینجا نحو اصلی آمده است:
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
معنای " * " به این بستگی دارد که در طرح ، میزبان یا قسمت مسیر باشد. اگر طرح * باشد، آنگاه با http یا https مطابقت دارد و نه file ، ftp یا urn . اگر میزبان فقط * باشد، با هر میزبانی مطابقت دارد. اگر میزبان *._hostname_ باشد، با میزبان مشخص شده یا هر یک از زیردامنه های آن مطابقت دارد. در بخش مسیر ، هر " * " با 0 یا بیشتر کاراکتر مطابقت دارد. جدول زیر چند الگوی معتبر را نشان می دهد.
| الگو | کاری که انجام می دهد | نمونه هایی از URL های منطبق |
|---|---|---|
http://*/* | با هر URL که از طرح http استفاده می کند مطابقت دارد | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | با هر URL که از طرح http استفاده می کند، در هر میزبانی، تا زمانی که مسیر با /foo شروع می شود، مطابقت دارد | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | با هر URL که از طرح https استفاده می کند مطابقت دارد، در میزبان google.com (مانند www.google.com، docs.google.com یا google.com)، تا زمانی که مسیر با /foo شروع شده و با bar به پایان می رسد. | https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html | با URL مشخص شده مطابقت دارد | http://example.org/foo/bar.html |
file:///foo* | با هر فایل محلی که مسیر آن با /foo شروع می شود مطابقت دارد | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | با هر URL که از طرح http استفاده می کند و در میزبان 127.0.0.1 است مطابقت دارد | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | با هر URL که با http://mail.google.com یا https://mail.google.com شروع می شود مطابقت دارد. | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | با هر URL که با urn: شروع می شود مطابقت دارد. | urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582 urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da |
<all_urls> | با هر URL که از طرح مجاز استفاده می کند مطابقت دارد. (برای لیست طرح های مجاز به ابتدای این بخش مراجعه کنید.) | http://example.org/foo/bar.html file:///bar/baz.html |
در اینجا چند نمونه از تطابق الگوی نامعتبر آورده شده است:
| الگوی بد | چرا بد است |
|---|---|
http://www.google.com | بدون مسیر |
http://*foo/bar | "*" در میزبان فقط می تواند با یک "" دنبال شود. یا '/' |
http://foo.*.bar/baz | اگر «*» در میزبان باشد، باید اولین کاراکتر باشد |
http:/bar | جداکننده طرح وجود ندارد ("/" باید "//" باشد) |
foo://* | طرح نامعتبر |
برخی از طرح ها در همه زمینه ها پشتیبانی نمی شوند.