ケース保存
URLは、クライアントとサーバー間で大文字と小文字を区別します。ただし、URLの一部では、サーバーによって、いくつかの理由で大文字と小文字が区別される場合とされない場合があります。
大文字と小文字の区別
次のURLの太字部分は、サイトやサーバーの構成によっては、大文字と小文字が区別される場合があります。
http:// www。example.com /abc/def.ghi?jkl=mno#pqr
user @ example.com
根拠
URLの大文字と小文字の区別にはいくつかの用途があります。主に:
- 大文字と小文字を区別するファイルシステムとのネイティブな互換性。
- シリアル化、ハッシュ、ID、パーマリンク、URL短縮など、URL内のよりコンパクトなデータエンコーディング。
開発者として、上記はより良い方法で処理できることが多いと思いますが、状況によってはこれが許可されない場合があることも理解しています。
たとえば、「GET」URLに多くのデータを配置する必要がある既存の製品を想像してください。ただし、すべての主要なサーバー、ブラウザ、およびキャッシュ/プロキシメカニズムの最大URL長と互換性がある必要があります。中程度の長さのコマンド文字列(一部の古いブラウザーでは1,024文字未満)にも適合させるには、可能な限り一意のURLセーフ文字を使用する必要があります(これは基本的にはbase64urlエンコーディングです)。
理想的な世界で
かどうかURLが必要があり、大文字と小文字を区別議論の余地があること。私は個人的には、そうすべきではないと信じています(より長いURLを作成する可能性がありますが、正確な文字を保持する必要がある場合に簡単に処理できるようにパーセントエスケープがあり、URL以外でデータを転送する方法があります)。 。
使いやすさを向上させるために、多くの人気のあるサイトやサービスで大文字と小文字を区別しないURLが明示的に有効になっているという事実に基づいて、多くの人が同意しているようです。最も顕著な例は、電子メールアドレスのユーザー名の部分です。ほとんどの電子メールプロバイダーは、大文字と小文字、場合によってはドットやその他の記号も無視します( "j.smith@example.com"は "JSMITH@example.com"と同じ)。仕様によると、メールのユーザー名はデフォルトで大文字と小文字が区別されます。
ただし、実際には、私や他の人が望んでいることにも関わらず、これが現在の状態です。そして、大文字と小文字を区別しないURL標準への最終的な世界的な移行は確かに可能ですが、現在、大文字と小文字の区別がさまざまな目的でWeb全体で広く使用されているため、かなり長い時間がかかる可能性があります。
ベストプラクティス
ベストプラクティスに関する限り、ユーザーとしては、ほとんどの状況で小文字に固執し、物事が機能することを期待できます。主な例外は、大文字と小文字をベースにしたエンコードを使用するURL、または同等のファイルシステムのドキュメントパスです。ただし、このような複雑なURLは通常、手動で入力するのではなく、コピーして貼り付けます(または単にクリックします)。
Web開発者は、URLの大文字と小文字をできるだけ区別しないことを検討する必要があります。ただし、上記のように、状況によっては避けられない状況がいくつかあります。