مجوزهای میزبان و تطابق اسکریپت محتوا بر اساس مجموعهای از 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://* | طرح نامعتبر |
برخی از طرح ها در همه زمینه ها پشتیبانی نمی شوند.