การจับคู่สิทธิ์ของโฮสต์และสคริปต์เนื้อหาจะอิงตามชุด URL ที่กําหนดโดยรูปแบบการจับคู่ โดยรูปแบบการจับคู่คือ URL ที่ขึ้นต้นด้วยรูปแบบที่อนุญาต (http
, https
, file
หรือ ftp
และมีอักขระ "*
" ได้ รูปแบบพิเศษ <all_urls>
จะตรงกับ URL ใดๆ ที่ขึ้นต้นด้วยรูปแบบที่อนุญาต รูปแบบการจับคู่แต่ละรูปแบบมี 3 ส่วน ดังนี้
สคีม เช่น
http
หรือfile
หรือ*
หมายเหตุ: การเข้าถึงfile
URL จะไม่เป็นไปโดยอัตโนมัติ ผู้ใช้ต้องไปที่หน้าการจัดการส่วนขยายและเลือกใช้การเข้าถึงfile
สำหรับแต่ละส่วนขยายที่ส่งคำขอโฮสต์ ตัวอย่างเช่น
www.google.com
หรือ*.google.com
หรือ*
หากชุดรูปแบบคือfile
จะไม่มีส่วนของ โฮสต์path เช่น
/*
,/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_
ระบบจะจับคู่กับโฮสต์ที่ระบุหรือโดเมนย่อยใดๆ ในส่วนเส้นทาง "*
" แต่ละรายการจะตรงกับอักขระ 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 | "*" ใน host สามารถต่อท้ายได้ด้วย "." หรือ "/" เท่านั้น |
http://foo.*.bar/baz | หากมี "*" อยู่ในโฮสต์ ต้องเป็นอักขระแรก |
http:/bar | ตัวคั่น scheme ขาดหายไป ("/" ควรเป็น "//") |
foo://* | แบบแผนไม่ถูกต้อง |
บางรูปแบบไม่ได้รับการสนับสนุนในทุกบริบท