হোস্ট পারমিশন এবং কন্টেন্ট স্ক্রিপ্ট ম্যাচিং, ম্যাচ প্যাটার্ন দ্বারা সংজ্ঞায়িত এক সেট ইউআরএল-এর উপর ভিত্তি করে করা হয়। একটি ম্যাচ প্যাটার্ন মূলত এমন একটি ইউআরএল যা একটি অনুমোদিত স্কিম ( 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_ হয়, তাহলে এটি নির্দিষ্ট হোস্ট বা তার যেকোনো সাবডোমেইনের সাথে মেলে। পাথ অংশে, প্রতিটি ' * ' ০ বা তার বেশি সংখ্যক অক্ষরের সাথে মেলে। নিচের সারণিতে কিছু বৈধ প্যাটার্ন দেখানো হলো।
| প্যাটার্ন | এটা যা করে | URL মেলানোর উদাহরণ |
|---|---|---|
http://*/* | http স্কিম ব্যবহার করে এমন যেকোনো URL-এর সাথে মেলে। | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | যেকোনো হোস্টে, http স্কিম ব্যবহার করে এমন যেকোনো URL-এর সাথে মেলে, যতক্ষণ পর্যন্ত পাথটি /foo দিয়ে শুরু হয়। | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | এটি https স্কিম ব্যবহার করে এমন যেকোনো URL-এর সাথে মেলে, যা 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 ফাইল:///ফু |
http://127.0.0.1/* | http স্কিম ব্যবহার করে এবং 127.0.0.1 হোস্টে অবস্থিত যেকোনো URL-এর সাথে মেলে। | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | http://mail.google.com বা https://mail.google.com দিয়ে শুরু হওয়া যেকোনো URL-এর সাথে মেলে। | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | urn: দিয়ে শুরু হওয়া যেকোনো URL-এর সাথে মেলে। | urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582 urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da |
<all_urls> | অনুমোদিত স্কিম ব্যবহার করে এমন যেকোনো URL-এর সাথে মেলে। (অনুমোদিত স্কিমগুলির তালিকার জন্য এই বিভাগের শুরু দেখুন।) | http://example.org/foo/bar.html ফাইল:///বার/বাজ.html |
এখানে ভুল প্যাটার্ন মিলের কিছু উদাহরণ দেওয়া হলো:
| খারাপ অভ্যাস | কেন এটি খারাপ |
|---|---|
http://www.google.com | কোন পথ নেই |
http://*foo/bar | হোস্টে '*' এর পরে শুধুমাত্র '.' বা '/' বসতে পারে। |
http://foo.*.bar/baz | হোস্টে যদি '*' থাকে, তবে সেটি অবশ্যই প্রথম অক্ষর হতে হবে। |
http:/bar | স্কিম বিভাজক অনুপস্থিত ("/" এর পরিবর্তে "//" হবে) |
foo://* | অবৈধ স্কিম |
কিছু স্কিম সব প্রেক্ষাপটে সমর্থিত নয়।