호스트 권한 및 콘텐츠 스크립트 일치는 일치
패턴으로 정의된 URL 집합을 기반으로 합니다. 일치 패턴은 기본적으로 허용된 스키마 (http, https,
file, 또는 ftp)로 시작하고 '*' 문자를 포함할 수 있는 URL입니다. 특수 패턴 <all_urls>는 허용된 스키마로 시작하는 모든 URL과 일치합니다. 각 일치 패턴은 3개의 부분으로 구성됩니다.
스키마 : 예를 들어
http또는file또는*참고:fileURL에 대한 액세스는 자동으로 이루어지지 않습니다. 사용자는 확장 프로그램 관리 페이지를 방문하여file액세스를 요청하는 각 확장 프로그램에 대해file액세스를 선택해야 합니다.호스트: 예를 들어
www.google.com또는*.google.com또는*입니다. 스키마가file인 경우 호스트 부분이 없습니다.경로 : 예를 들어
/*,/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://*/* | http 스키마를 사용하는 모든 URL과 일치합니다. | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | http 스키마를 사용하며 모든 호스트에서 경로가 /foo로 시작되는 모든 URL과 일치합니다. | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | https 스키마를 사용하고, google.com 호스트에 있으며 (예: www.google.com, docs.google.com 또는 google.com), 경로가 /foo로 시작하고 bar로 끝나는 모든 URL과 일치합니다. | 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/* | http 스키마를 사용하고 127.0.0.1 호스트에 있는 모든 URL과 일치합니다. | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | http://mail.google.com 또는 https://mail.google.com으로 시작하는 모든 URL과 일치합니다. | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | urn:으로 시작하는 모든 URL과 일치합니다. | 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 | 호스트 부분에서는 '*' 다음에 '.' 또는 '/'만 올 수 있습니다. |
http://foo.*.bar/baz | 호스트 부분에서 '*'를 사용할 경우 첫 번째 문자로만 사용해야 합니다. |
http:/bar | 스키마 구분 기호가 없습니다('/' 대신 '//'를 사용해야 함). |
foo://* | 잘못된 스키마 |
일부 스키마는 모든 컨텍스트에서 지원되지 않습니다.