Việc so khớp quyền của máy chủ và tập lệnh nội dung dựa trên một tập hợp URL được xác định theo mẫu khớp. Về cơ bản, mẫu khớp là một URL bắt đầu bằng một giao thức được phép (http
, https
, file
hoặc ftp
và có thể chứa 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 khớp có 3 phần:
lược đồ – ví dụ:
http
hoặcfile
hoặc*
Lưu ý: Quyền truy cập vào URLfile
không tự động. 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ậpfile
cho từng tiện ích yêu cầu quyền này.máy chủ lưu trữ – ví dụ:
www.google.com
hoặc*.google.com
hoặc*
; nếu lược đồ làfile
, thì không có phần máy chủ lưu trữđường dẫn – 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 "*
" phụ thuộc vào việc thuộc phần lược đồ, máy chủ lưu trữ hay đường dẫn. Nếu lược đồ là *
, thì lược đồ đó sẽ khớp với http
hoặc https
và không khớp với file
, ftp
hoặc urn
. Nếu máy chủ chỉ là *
, thì máy chủ đó sẽ khớp với mọi máy chủ. Nếu máy chủ lưu trữ là *._hostname_
, thì máy chủ lưu trữ đó sẽ khớp với máy chủ lưu trữ đã chỉ định hoặc bất kỳ miền con nào của máy chủ lưu trữ đó. Trong phần path (đường dẫn), mỗi '*
' khớp với 0 ký tự trở lên. Bảng sau đây cho thấy một số mẫu hợp lệ.
Mẫu | Ý nghĩa | Ví dụ về URL khớp |
---|---|---|
http://*/* | Khớp với mọi URL sử dụng giao thứ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 giao thức https , nằm trên máy chủ 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 đã 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 lược đồ được phép. (Xem phần đầu của mục này để biết danh sách các giao thức được phép.) | http://example.org/foo/bar.html file:///bar/baz.html |
Dưới đây là một số ví dụ về kiểu khớp mẫu không hợp lệ:
Mẫu không hợp lệ | Lý do không nên làm như vậy |
---|---|
http://www.google.com | Không có đường dẫn |
http://*foo/bar | Chỉ có thể theo sau "*" trong máy chủ bằng "." hoặc "/" |
http://foo.*.bar/baz | Nếu "*" nằm trong máy chủ lưu trữ, thì đó 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ố giao thức không được hỗ trợ trong mọi ngữ cảnh.