Mẫu so khớp

Quyền từ phía máy chủ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ụ: http hoặc file hoặc *

    Lưu ý: Bạn không tự động có quyền truy cập vào URL file. 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ập file cho từng tiện ích yêu cầu quyền này.
  • host – ví dụ: www.google.com hoặc *.google.com hoặc *; nếu giao thức là file, thì không có phần host

  • path – 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:

&lt;url-pattern&gt; := &lt;scheme&gt;://&lt;host&gt;&lt;path&gt;
&lt;scheme&gt; := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
&lt;host&gt; := '*' | '*.' &lt;any char except '/' and '*'&gt;+
&lt;path&gt; := '/' &lt;any chars&gt;

Ý 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 đồ*, 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*._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ĩaVí dụ về URL khớp nhau
http://*/*Khớp với mọi URL sử dụng lược đồ httphttp://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 /foohttp://example.com/foo/bar.html
http://www.google.com/foo
https://*.google.com/foo*barKhớ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 barhttps://www.google.com/foo/baz/bar
https://docs.google.com/foobar
http://example.org/foo/bar.htmlKhớp với URL được chỉ địnhhttp://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 /foofile:///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.1http://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 đúngLý do khiến bạn thấy video này tệ
http://www.google.comKhông có đường dẫn
http://*foo/barBạ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:/barThiế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.