पैटर्न मैच करें

होस्ट की अनुमतियां और कॉन्टेंट स्क्रिप्ट का मिलान, मैच पैटर्न से तय किए गए यूआरएल के सेट पर आधारित होता है. मैच पैटर्न, असल में एक ऐसा यूआरएल होता है जो अनुमति वाले स्कीम (http, https, file या ftp) से शुरू होता है. साथ ही, इसमें '*' वर्ण हो सकते हैं. स्पेशल पैटर्न <all_urls>, अनुमति वाले स्कीम से शुरू होने वाले किसी भी यूआरएल से मैच करता है. हर मैच पैटर्न में तीन हिस्से होते हैं:

  • scheme—उदाहरण के लिए, http या file या *

    ध्यान दें: 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_ है, तो यह तय किए गए होस्ट या उसके किसी भी सबडोमेन से मेल खाता है. पाथ सेक्शन में, हर '*' शून्य या एक से ज़्यादा वर्णों से मैच करता है. यहां दी गई टेबल में कुछ मान्य पैटर्न दिखाए गए हैं.

पैटर्नयह क्या करता हैमिलते-जुलते यूआरएल के उदाहरण
http://*/*http स्कीम का इस्तेमाल करने वाले किसी भी यूआरएल से मेल खाता हैhttp://www.google.com/
http://example.org/foo/bar.html
http://*/foo*किसी भी होस्ट पर, http स्कीम का इस्तेमाल करने वाले किसी भी यूआरएल से मेल खाता है. हालांकि, इसके लिए ज़रूरी है कि पाथ /foo से शुरू होhttp://example.com/foo/bar.html
http://www.google.com/foo
https://*.google.com/foo*barयह https स्कीम का इस्तेमाल करने वाले किसी भी यूआरएल से मैच करता है. यह Google के होस्ट (जैसे, 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दिए गए यूआरएल से मेल खाता होhttp://example.org/foo/bar.html
file:///foo*/foo से शुरू होने वाले पाथ वाली किसी भी लोकल फ़ाइल से मेल खाता हैfile:///foo/bar.html
file:///foo
http://127.0.0.1/*http स्कीम का इस्तेमाल करने वाले और होस्ट 127.0.0.1 पर मौजूद किसी भी यूआरएल से मेल खाता हैhttp://127.0.0.1/
http://127.0.0.1/foo/bar.html
*://mail.google.com/*http://mail.google.com या https://mail.google.com से शुरू होने वाले किसी भी यूआरएल से मेल खाता है.http://mail.google.com/foo/baz/bar
https://mail.google.com/foobar
urn:*urn: से शुरू होने वाले किसी भी यूआरएल से मेल खाता है.urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582
urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da
<all_urls>अनुमति वाली स्कीम का इस्तेमाल करने वाले किसी भी यूआरएल से मेल खाता है. (अनुमति वाली योजनाओं की सूची के लिए, इस सेक्शन की शुरुआत देखें.)http://example.org/foo/bar.html
file:///bar/baz.html

यहां अमान्य पैटर्न मैच के कुछ उदाहरण दिए गए हैं:

गलत पैटर्नयह खराब क्यों है
http://www.google.comकोई पाथ नहीं
http://*foo/barहोस्ट में '*' के बाद सिर्फ़ '.' या '/' आ सकता है
http://foo.*.bar/baz अगर होस्ट में '*' है, तो यह पहला वर्ण होना चाहिए
http:/barस्कीम सेपरेटर मौजूद नहीं है ("/" के बजाय "//" होना चाहिए)
foo://*स्कीम अमान्य है

कुछ स्कीम, सभी संदर्भों में काम नहीं करते.