Quyền từ phía máy chủ và tập lệnh nội dung khớp dựa trên một nhóm URL do các mẫu khớp xác định. Mẫu so khớp về cơ bản là một URL bắt đầu bằng một lược đồ được phép (http, https, file hoặc ftp) và có thể chứa các ký tự "*". Mẫu đặc biệt <all_urls> khớp với mọi URL bắt đầu bằng một lược đồ được phép. Mỗi mẫu so khớp có 3 phần:
scheme – ví dụ:
httphoặcfilehoặc*Lưu ý: Bạn không tự động có quyền truy cập vào URLfile. Người dùng phải truy cập vào trang quản lý tiện ích và chọn cấp quyền truy cậpfilecho từng tiện ích yêu cầu quyền này.host – ví dụ:
www.google.comhoặc*.google.comhoặc*; nếu giao thức làfile, thì không có phần hostpath – ví dụ:
/*,/foo*hoặc/foo/bar. Đường dẫn phải có trong quyền của máy chủ lưu trữ, nhưng luôn được coi là/*.
Sau đây là cú pháp cơ bản:
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
Ý nghĩa của "*" tuỳ thuộc vào việc nó nằm trong phần scheme, host hay path. Nếu lược đồ là *, thì lược đồ này khớp với http hoặc https, và không khớp với file, ftp hoặc urn. Nếu host chỉ là *, thì nó sẽ khớp với mọi máy chủ lưu trữ. Nếu host là *._hostname_, thì nó sẽ khớp với máy chủ được chỉ định hoặc bất kỳ miền con nào của máy chủ đó. Trong phần path, mỗi "*" khớp với 0 hoặc nhiều ký tự. Bảng sau đây trình bày một số mẫu hợp lệ.
| Mẫu | Ý nghĩa | Ví dụ về URL khớp nhau |
|---|---|---|
http://*/* | Khớp với mọi URL sử dụng lược đồ http | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | Khớp với mọi URL sử dụng lược đồ http, trên mọi máy chủ lưu trữ, miễn là đường dẫn bắt đầu bằng /foo | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | Khớp với mọi URL sử dụng lược đồ https, nằm trên máy chủ lưu trữ google.com (chẳng hạn như www.google.com, docs.google.com hoặc google.com), miễn là đường dẫn bắt đầu bằng /foo và kết thúc bằng bar | https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html | Khớp với URL được chỉ định | http://example.org/foo/bar.html |
file:///foo* | Khớp với mọi tệp cục bộ có đường dẫn bắt đầu bằng /foo | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | Khớp với mọi URL sử dụng lược đồ http và nằm trên máy chủ lưu trữ 127.0.0.1 | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | Khớp với mọi URL bắt đầu bằng http://mail.google.com hoặc https://mail.google.com. | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | Khớp với mọi URL bắt đầu bằng urn:. | urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582 urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da |
<all_urls> | Khớp với mọi URL sử dụng một lược đồ được phép. (Xem phần đầu của mục này để biết danh sách các lược đồ được phép.) | http://example.org/foo/bar.html file:///bar/baz.html |
Sau đây là một số ví dụ về mẫu so khớp không hợp lệ:
| Hình mở khoá không đúng | Lý do khiến bạn thấy video này tệ |
|---|---|
http://www.google.com | Không có đường dẫn |
http://*foo/bar | Bạn chỉ có thể thêm "." hoặc "/" sau "*" trong tên máy chủ |
http://foo.*.bar/baz | Nếu có dấu "*" trong host, thì dấu này phải là ký tự đầu tiên |
http:/bar | Thiếu dấu phân cách lược đồ ("/" phải là "//") |
foo://* | Lược đồ không hợp lệ |
Một số lược đồ không được hỗ trợ trong mọi ngữ cảnh.