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