12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?xml version="1.0" encoding="utf-8"?>
- <!--
-
- h t t :: / / t /
- h t t :: // // t //
- h ttttt ttttt ppppp sssss // // y y sssss ttttt //
- hhhh t t p p s // // y y s t //
- h hh t t ppppp sssss // // yyyyy sssss t //
- h h t t p s :: / / y .. s t .. /
- h h t t p sssss :: / / yyyyy .. sssss t .. /
-
- <https://y.st./>
- Copyright © 2016 Alex Yst <mailto:copyright@y.st>
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org./licenses/>.
- -->
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <base href="https://y.st./en/URI_research/limitations.xhtml" />
- <title>Format-specific URI limitations <https://y.st./en/URI_research/limitations.xhtml></title>
- <link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png" />
- <link rel="stylesheet" type="text/css" href="/link/basic.css" />
- <link rel="stylesheet" type="text/css" href="/link/site-specific.css" />
- <script type="text/javascript" src="/script/javascript.js" />
- <meta name="viewport" content="width=device-width" />
- </head>
- <body>
- <nav>
- <p>
- <a href="/en/">Home</a> |
- <a href="/en/a/about.xhtml">About</a> |
- <a href="/en/a/contact.xhtml">Contact</a> |
- <a href="/a/canary.txt">Canary</a> |
- <a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
- <a href="/en/opinion/">Opinions</a> |
- <a href="/en/coursework/">Coursework</a> |
- <a href="/en/law/">Law</a> |
- <a href="/en/a/links.xhtml">Links</a> |
- <a href="/en/URI_research/limitations.xhtml.asc">{this page}.asc</a>
- </p>
- <hr/>
- </nav>
- <header>
- <h1>Format-specific <abbr title="Uniform Resource Identifier">URI</abbr> limitations</h1>
- <p>Some valid <abbr title="Uniform Resource Identifier">URI</abbr>s aren't available in every context.</p>
- </header>
- <p>This page is still in its infancy, as I haven't done much research on standard limitations on <abbr title="Uniform Resource Identifier">URI</abbr>s just yet.</p>
- <h2>Sitemaps</h2>
- <p>The <a href="http://www.sitemaps.org/protocol.html#xmlTagDefinitions">Sitemap</a> format defines the <code><loc/></code> tag as containing a <abbr title="Uniform Resource Identifier">URI</abbr> that is not more than 2047 characters in length. Read carefully; it says <q>less than 2,048 characters</q>, not <q>less than or equal to 2,048 characters</q>. Furthermore, this limitation is only placed on <code><loc/></code> tags within a Sitemap file, not within a Sitemap index file.</p>
- <h2>Onion addresses</h2>
- <p>While <abbr title="Internet Assigned Numbers Authority">IANA</abbr> did <a href="https://www.iana.org./assignments/special-use-domain-names/special-use-domain-names.xhtml">reserve the <q>onion.</q> <abbr title="Top Level Domain">TLD</abbr> for use with <abbr title="The Onion Router">Tor</abbr></a>, they don't require that <abbr title="The Onion Router">Tor</abbr> used <abbr title="Domain Name System">DNS</abbr> to implement these names. In fact, the <abbr title="Request for Comments">RFC</abbr> says that <a href="https://tools.ietf.org./html/rfc7686#section-1">these names are to be resolved outside of <abbr title="Domain Name System">DNS</abbr></a>. Essentially, the <abbr title="Request for Comments">RFC</abbr> just validates <abbr title="The Onion Router">Tor</abbr>'s use of onion addresses and specified that applications that are not <abbr title="The Onion Router">Tor</abbr>-aware should reject these names without without attempting to look them up, instead returning an error. It also says that <abbr title="Domain Name System">DNS</abbr> servers should return NXDOMAIN responses instead of attempting to resolve them. <abbr title="The Onion Router">Tor</abbr>-aware applications are required to either access the resource directly without a lookup or use a proxy to do so, using the tor-rendezvous protocol, which is defined by <abbr title="The Onion Router">Tor</abbr> itself. <abbr title="The Onion Router">Tor</abbr> doesn't handle the trailing dot on onion addresses, unlike <abbr title="Domain Name System">DNS</abbr> names. However, because <abbr title="The Onion Router">Tor</abbr> doesn't allow resolution of onion addresses with trailing dots and the proper handling of onion addresses is defined as whatever <abbr title="The Onion Router">Tor</abbr> does, rejecting onion addresses with a trailing dot is actually the correct behavior. If the <code>//onion.</code> <abbr title="Top Level Domain">TLD</abbr> is used, the trailing dot should be omitted every time. It's worth mentioning the one mention of an onion address's <a href="https://gitweb.torproject.org./torspec.git/tree/rend-spec.txt#n1017">format</a> though:</p>
- <blockquote><pre>Valid onion addresses contain 16 characters in a-z2-7 plus
- ".onion", and valid auth cookies contain 22 characters in
- A-Za-z0-9+/. The service name is only used for internal purposes,
- e.g., for Tor controllers; nothing in Tor itself requires or uses
- it.</pre></blockquote>
- <p>It makes no mention of trailing dot being valid or invalid. Furthermore, it doesn't mention use of subdomains being valid, though the <abbr title="Request for Comments">RFC</abbr> explicitly give permission to use subdomains.</p>
- <hr/>
- <p>
- Copyright © 2016 Alex Yst;
- You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU's Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
- If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
- My address is in the source comments near the top of this document.
- This license also applies to embedded content such as images.
- For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
- </p>
- <p>
- <abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
- This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2FURI_research%2Flimitations.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.1</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2FURI_research%2Flimitations.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
- </p>
- </body>
- </html>
|