होस्ट की अनुमतियों और कॉन्टेंट स्क्रिप्ट के मैच होने की प्रोसेस, मैच होने वाले पैटर्न के हिसाब से तय किए गए यूआरएल के सेट पर आधारित होती है. मैच पैटर्न, असल में एक ऐसा यूआरएल होता है जो अनुमति वाली स्कीम (http, https, file या ftp) से शुरू होता है. इसमें '*' वर्ण शामिल हो सकते हैं. खास पैटर्न <all_urls>, अनुमति वाली किसी भी स्कीम से शुरू होने वाले यूआरएल से मेल खाता है. हर मैच पैटर्न में तीन हिस्से होते हैं:
स्कीम—उदाहरण के लिए,
httpयाfileया*ध्यान दें: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_ है, तो यह तय किए गए होस्ट या उसके किसी भी सबडोमेन से मैच करता है. पाथ सेक्शन में, हर '*' शून्य या उससे ज़्यादा वर्णों से मेल खाता है. यहां दी गई टेबल में, कुछ मान्य पैटर्न दिखाए गए हैं.
| पैटर्न | यह क्या करता है | मिलते-जुलते यूआरएल के उदाहरण |
|---|---|---|
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.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 | यह तय किए गए यूआरएल से मेल खाता है | 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://* | अमान्य स्कीम |
कुछ स्कीम, सभी संदर्भों में काम नहीं करती हैं.