Quyền của máy chủ và việc so khớp tập lệnh nội dung sẽ dựa trên một tập hợp URL do mẫu so khớp xác định. Về cơ bản, mẫu so 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 các ký tự "*
". Mẫu đặc biệt <all_urls>
khớp với mọi URL bắt đầu bằng lược đồ được cho phép. Mỗi mẫu khớp sẽ có 3 phần:
lược đồ — ví dụ:
http
,file
hoặc*
Lưu ý: Quyền truy cập vào các 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 mỗi tiện ích yêu cầu quyền đó.host – ví dụ:
www.google.com
hoặc*.google.com
hoặc*
; nếu giao thức làfile
, thì sẽ không có phần host nàopath – ví dụ:
/*
,/foo*
hoặc/foo/bar
. Đường dẫn phải có trong quyền của máy chủ, nhưng luôn được coi là/*
.
Dưới đâ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 mục đó nằm trong phần lược đồ, máy chủ hay đường dẫn. Nếu lược đồ (scheme) là *
, thì nó sẽ khớp với http
hoặc https
chứ không phả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ủ lưu trữ. Nếu máy chủ là *._hostname_
, thì máy chủ lưu trữ này sẽ so 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ủ đó. 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 phù hợp |
---|---|---|
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* | So khớp 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 | So khớp với mọi URL sử dụng lược đồ https và 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 đượ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ủ 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 danh sách các giao thức được phép ở phần đầu của phần này.) | http://example.org/foo/bar.html file:///bar/baz.html |
Dưới đây là một số ví dụ về trường hợp so khớp mẫu không hợp lệ:
Hình mở khoá không hợp lệ | Tại sao sản phẩm này không tốt |
---|---|
http://www.google.com | Không có đường dẫn |
http://*foo/bar | Theo sau dấu "*" trong máy chủ chỉ có thể đứng sau dấu "." hoặc "/" |
http://foo.*.bar/baz | Nếu "*" nằm trong máy chủ, thì đó phải là ký tự đầu tiên |
http:/bar | Thiếu dấu phân tá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.