RFC 1738は URL の構文を指定し、それについて言及しています。
URL は、
US-ASCII コード化文字セットの印刷可能なグラフィック文字のみで記述されます。16 進数の 80 ~ FF のオクテット
は US-ASCII では使用されず、16 進数の 00 ~ 1F および 7F のオクテットは
制御文字を表します。これらはエンコードする必要があります。
ただし、これらのオクテットがどのコード セットを表すかについては述べていません。
RFC 2396は状況を改善しようとしているようですが、
ただし、非 ASCII 文字を含む元の文字シーケンスの場合、状況はより困難になります。複数の文字セットが存在する可能性がある場合、文字シーケンスを表すことを目的としたオクテット シーケンスを送信するインターネット プロトコルは、使用される文字セットを特定する何らかの方法を提供することが期待されます [RFC2277]。ただし、現在、この識別を実現するための一般的な URI 構文内の規定はありません。個々の URI スキームは、単一の文字セットを要求したり、デフォルトの文字セットを定義したり、使用する文字セットを示す方法を提供したりできます。
この仕様の将来の修正として、URI 内の文字エンコーディングの体系的な処理が開発されることが期待されます。
クライアントがエンコードされたオクテットを解釈する文字セットを決定できる、またはクライアントがエンコードに使用したものをサーバーが決定できる明確な方法はありますか?
ほとんどのサーバーのデフォルトは UTF-8 のように見えますが、これは指定されたものよりも事実上の選択のようです。