<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>Appendix A.  Collected ABNF for URI</h1><pre>   URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</pre><pre>   hier-part     = &quot;//&quot; authority path-abempty
                 / path-absolute
                 / path-rootless
                 / path-empty</pre><pre>   URI-reference = URI / relative-ref</pre><pre>   absolute-URI  = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</pre><pre>   relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</pre><pre>   relative-part = &quot;//&quot; authority path-abempty
                 / path-absolute
                 / path-noscheme
                 / path-empty</pre><pre>   scheme        = ALPHA *( ALPHA / DIGIT / &quot;+&quot; / &quot;-&quot; / &quot;.&quot; )</pre><pre>   authority     = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]
   userinfo      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )
   host          = IP-literal / IPv4address / reg-name
   port          = *DIGIT</pre><pre>   IP-literal    = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</pre><pre>   IPvFuture     = &quot;v&quot; 1*HEXDIG &quot;.&quot; 1*( unreserved / sub-delims / &quot;:&quot; )</pre><pre>   IPv6address   =                            6( h16 &quot;:&quot; ) ls32
                 /                       &quot;::&quot; 5( h16 &quot;:&quot; ) ls32
                 / [               h16 ] &quot;::&quot; 4( h16 &quot;:&quot; ) ls32
                 / [ *1( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 3( h16 &quot;:&quot; ) ls32
                 / [ *2( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 2( h16 &quot;:&quot; ) ls32
                 / [ *3( h16 &quot;:&quot; ) h16 ] &quot;::&quot;    h16 &quot;:&quot;   ls32
                 / [ *4( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              ls32
                 / [ *5( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              h16
                 / [ *6( h16 &quot;:&quot; ) h16 ] &quot;::&quot;</pre><pre>   h16           = 1*4HEXDIG
   ls32          = ( h16 &quot;:&quot; h16 ) / IPv4address
   IPv4address   = dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet</pre><pre>   dec-octet     = DIGIT                 ; 0-9
                 / %x31-39 DIGIT         ; 10-99
                 / &quot;1&quot; 2DIGIT            ; 100-199
                 / &quot;2&quot; %x30-34 DIGIT     ; 200-249
                 / &quot;25&quot; %x30-35          ; 250-255</pre><pre>   reg-name      = *( unreserved / pct-encoded / sub-delims )</pre><pre>   path          = path-abempty    ; begins with &quot;/&quot; or is empty
                 / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;
                 / path-noscheme   ; begins with a non-colon segment
                 / path-rootless   ; begins with a segment
                 / path-empty      ; zero characters</pre><pre>   path-abempty  = *( &quot;/&quot; segment )
   path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]
   path-noscheme = segment-nz-nc *( &quot;/&quot; segment )
   path-rootless = segment-nz *( &quot;/&quot; segment )
   path-empty    = 0&lt;pchar&gt;</pre><pre>   segment       = *pchar
   segment-nz    = 1*pchar
   segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / &quot;@&quot; )
                 ; non-zero-length segment without any colon &quot;:&quot;</pre><pre>   pchar         = unreserved / pct-encoded / sub-delims / &quot;:&quot; / &quot;@&quot;</pre><pre>   query         = *( pchar / &quot;/&quot; / &quot;?&quot; )</pre><pre>   fragment      = *( pchar / &quot;/&quot; / &quot;?&quot; )</pre><pre>   pct-encoded   = &quot;%&quot; HEXDIG HEXDIG</pre><pre>   unreserved    = ALPHA / DIGIT / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;
   reserved      = gen-delims / sub-delims
   gen-delims    = &quot;:&quot; / &quot;/&quot; / &quot;?&quot; / &quot;#&quot; / &quot;[&quot; / &quot;]&quot; / &quot;@&quot;
   sub-delims    = &quot;!&quot; / &quot;$&quot; / &quot;&amp;&quot; / &quot;'&quot; / &quot;(&quot; / &quot;)&quot;
                 / &quot;*&quot; / &quot;+&quot; / &quot;,&quot; / &quot;;&quot; / &quot;=&quot;</pre></section><section><h1>License</h1><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFCのライセンス</anchor></p></section><section><h1>メモ</h1></section></body></html>