Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<meta charset=utf-8>
<title>valid src</title>
<embed src="a:foo.com"><!-- scheme-private -->
<embed src="foo:/"><!-- scheme-private-slash -->
<embed src="foo://"><!-- scheme-private-slash-slash -->
<embed src="foo:/bar.com/"><!-- scheme-private-path -->
<embed src="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
<embed src="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
<embed src="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
<embed src="c:/foo"><!-- scheme-private-single-letter -->
<embed src="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
<embed src="file:/example.com/"><!-- scheme-file-single-slash -->
<embed src="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
<embed src="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
<embed src="ws:/example.com/"><!-- scheme-ws-single-slash -->
<embed src="wss:/example.com/"><!-- scheme-wss-single-slash -->
<embed src="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
<embed src="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
<embed src="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
<embed src="ftps:example.com/"><!-- scheme-ftps-no-slash -->
<embed src="gopher:example.com/"><!-- scheme-gopher-no-slash -->
<embed src="wss:example.com/"><!-- scheme-wss-no-slash -->
<embed src="mailto:example.com/"><!-- scheme-mailto-no-slash -->
<embed src="data:text/plain,foo"><!-- scheme-data-no-slash -->
<embed src="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
<embed src="http://[2001::1]"><!-- host-ipv6 -->
<embed src="http://[2001::1]:80"><!-- host-ipv6-port -->
<embed src="http://f:/c"><!-- port-none-but-colon -->
<embed src="http://f:0/c"><!-- port-0 -->
<embed src="http://f:00000000000000/c"><!-- port-00000000000000 -->
<embed src="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
<embed src="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
<embed src="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
<embed src="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
<embed src="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
<embed src="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
<embed src="http://example.com/%20foo"><!-- path-percent-encoded-space -->
<embed src="http://example.com/©zbar"><!-- path-non-ascii -->
<embed src="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
<embed src="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
<embed src="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
<embed src="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
<embed src="http://example.com/你好你好"><!-- path-unicode-han -->
<embed src="http://example.com//foo"><!-- path-uFEFF -->
<embed src="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
<embed src="http://💩"><!-- host-is-pile-of-poo -->
<embed src="http💩//:foo"><!-- path-contains-pile-of-poo -->
<embed src="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
<embed src="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
<embed src="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
<embed src="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
<embed src="http://@www.example.com"><!-- userinfo-empty -->
<embed src="http://:b@www.example.com"><!-- userinfo-user-empty -->
<embed src="http://a:@www.example.com"><!-- userinfo-password-empty -->
<embed src="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
<embed src="http://www.foo。bar.com"><!-- host-exotic-dot -->
<embed src="http://Go.com"><!-- host-fullwidth -->
<embed src="http://你好你好"><!-- host-idn-unicode-han -->
<embed src="http://192.168.0.257/"><!-- host-IP-address-broken -->
<embed src="//foo/bar"><!-- scheme-schemeless-relative -->
<embed src="/"><!-- path-slash-only-relative -->
<embed src="/a/b/c"><!-- path-simple-relative -->
<embed src="/a%2fc"><!-- path-percent-encoded-slash-relative -->
<embed src="/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
<embed src="?"><!-- query-empty-no-path-relative -->
<embed src="#"><!-- fragment-empty-hash-only-no-path-relative -->
<embed src="#/"><!-- fragment-slash-relative -->
<embed src="#;?"><!-- fragment-semicolon-question-mark-relative -->
<embed src=""><!-- fragment-non-ascii-relative -->
<embed src="foo.com"><!-- scheme-none-relative -->
<embed src=":"><!-- path-colon-relative -->
<embed src=":a"><!-- path-leading-colon-letter-relative -->
<embed src=":foo.com"><!-- path-leading-colon-chars-relative -->
<embed src=":/"><!-- path-leading-colon-slash-relative -->
<embed src=":#"><!-- path-leading-colon-hash-relative -->
<embed src=":23"><!-- path-leading-colon-number-relative -->
<embed src="/:23"><!-- path-slash-colon-number-relative -->
<embed src="::"><!-- path-leading-colon-colon-relative -->
<embed src="::23"><!-- path-colon-colon-number-relative -->
<embed src="💩http://foo"><!-- path-starts-with-pile-of-poo -->
<embed src="/💩"><!-- path-slash-pile-of-poo -->
<embed src="File://foo/bar.html"><!-- scheme-file-uppercase -->
<embed src="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
<embed src="file://server/foo/bar"><!-- scheme-file-host-included -->
<embed src="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
<embed src="file:"><!-- scheme-file-scheme-only -->
<embed src="file:/"><!-- scheme-file-slash-only -->
<embed src="file://"><!-- scheme-file-slash-slash-only -->
<embed src="file:///"><!-- scheme-file-slash-slash-slash-only -->
<embed src="file:test"><!-- scheme-file-no-slash -->