エンコードせずに GET 内で使用できる文字の完全なリストを知っている人はいますか? 現時点では、AZ、az、0-9 を使用していますが、完全なリストを見つけたいと思っています。
また、中国語、アラビア語の URL の今後の追加に関する仕様が公開されるかどうかにも興味があります (明らかに、これは私の質問に大きな影響を与えるでしょう)
ベストアンサー1
編集: @Jukka K. Korpela が正しく指摘しているように、RFC 1738 はRFC 3986によって更新されました。これにより、ホストに有効な文字が拡張され明確化されましたが、残念ながら簡単にコピーして貼り付けることはできませんが、最善を尽くします。
最初に一致した順序:
host = IP-literal / IPv4address / reg-name
IP-literal = "[" ( IPv6address / IPvFuture ) "]"
IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )
IPv6address = 6( h16 ":" ) ls32
/ "::" 5( h16 ":" ) ls32
/ [ h16 ] "::" 4( h16 ":" ) ls32
/ [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
/ [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
/ [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32
/ [ *4( h16 ":" ) h16 ] "::" ls32
/ [ *5( h16 ":" ) h16 ] "::" h16
/ [ *6( h16 ":" ) h16 ] "::"
ls32 = ( h16 ":" h16 ) / IPv4address
; least-significant 32 bits of address
h16 = 1*4HEXDIG
; 16 bits of address represented in hexadecimal
IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet
dec-octet = DIGIT ; 0-9
/ %x31-39 DIGIT ; 10-99
/ "1" 2DIGIT ; 100-199
/ "2" %x30-34 DIGIT ; 200-249
/ "25" %x30-35 ; 250-255
reg-name = *( unreserved / pct-encoded / sub-delims )
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" <---This seems like a practical shortcut, most closely resembling original answer
reserved = gen-delims / sub-delims
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="
pct-encoded = "%" HEXDIG HEXDIG
RFC 1738仕様からの元の回答:
$-_.+!*'(),
したがって、 URL 内でエンコードせずに使用できるのは、英数字、特殊文字「 」、および予約目的で使用される予約文字のみです。
^ 1998年以降廃止。