مطابقة الأنماط

تستند مطابقة أذونات المضيف وبرامج النصوص الخاصة بالمحتوى إلى مجموعة من عناوين URL المحدّدة بواسطة أنماط المطابقة. نمط المطابقة هو في الأساس عنوان URL يبدأ بمخطط مسموح به (http أو https أو file أو ftp)، ويمكن أن يحتوي على أحرف *. يتطابق النمط الخاص <all_urls> مع أي عنوان URL يبدأ بنظام مسموح به. يتضمّن كل نمط مطابقة 3 أجزاء:

  • scheme: على سبيل المثال، http أو file أو *

    ملاحظة: لا يتم منح إذن الوصول إلى عناوين URL الخاصة بـ file تلقائيًا. على المستخدم الانتقال إلى صفحة إدارة الإضافات والموافقة على منح إذن الوصول إلى file لكل إضافة تطلب ذلك.
  • المضيف: على سبيل المثال، www.google.com أو *.google.com أو *، وإذا كان المخطط هو file، لن يكون هناك جزء مضيف

  • المسار: على سبيل المثال، /* أو /foo* أو /foo/bar يجب أن يكون المسار متوفّرًا في إذن المضيف، ولكن يتم التعامل معه دائمًا على أنّه /*.

في ما يلي بنية الجملة الأساسية:

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

يختلف معنى "*" حسب ما إذا كان في جزء المخطط أو المضيف أو المسار. إذا كان المخطط هو *، سيتطابق مع http أو https، وليس file أو ftp أو urn. إذا كان المضيف هو * فقط، سيتم تطبيقه على أي مضيف. إذا كان المضيف هو *._hostname_، سيتطابق مع المضيف المحدّد أو أي من نطاقاته الفرعية. في قسم المسار، يتطابق كل '*' مع 0 أو أكثر من الأحرف. يعرض الجدول التالي بعض الأنماط الصالحة.

النمطوظيفتهاأمثلة على عناوين URL المتطابقة
http://*/*يطابق أي عنوان URL يستخدم المخطط httphttp://www.google.com/
http://example.org/foo/bar.html
http://*/foo*يطابق أي عنوان URL يستخدم المخطط http على أي مضيف، طالما أنّ المسار يبدأ بـ /foohttp://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 وينتهي بـ barhttps://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*يطابق أي ملف محلي يبدأ مساره بـ /foofile:///foo/bar.html
file:///foo
http://127.0.0.1/*تطابق أي عنوان URL يستخدم المخطط http ويقع على المضيف 127.0.0.1http://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://*المخطط غير صالح

لا تتوفّر بعض المخططات في جميع السياقات.