تستند مطابقة أذونات المضيف والنصوص البرمجية للمحتوى إلى مجموعة من عناوين URL التي تحدّدها أنماط المطابقة. نمط المطابقة هو في الأساس عنوان URL يبدأ بتنسيق مسموح به (http
أو https
أو
file
أو ftp
، ويمكن أن يحتوي على أحرف "*
". يتطابق النمط الخاص <all_urls>
مع أي عنوان URL يبدأ بنظام مسموح به. يتألّف كل نمط مطابقة من 3 أجزاء:
مخطّط، على سبيل المثال،
http
أوfile
أو*
ملاحظة: لا يكون الوصول إلى عناوين URL الخاصة بـfile
تلقائيًا. على المستخدم الانتقال إلى صفحة إدارة الإضافات وتفعيل إذن الوصول إلىfile
لكل إضافة تطلب ذلك.host: على سبيل المثال،
www.google.com
أو*.google.com
أو*
. إذا كان المخطّط هوfile
، لن يكون هناك جزء hostالمسار، مثل
/*
أو/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://* | مخطّط غير صالح |
لا تتوفّر بعض المخططات في جميع السياقات.