Збереження справ
URL-адреси зберігаються в регістрі між клієнтом та сервером. Але частини URL-адрес можуть бути або не залежними від регістру , залежно від сервера, з кількох причин.
Чутливість до справи
Наступні жирні частини URL-адрес можуть бути залежно від регістру, залежно від конфігурації сайту та / або сервера.
http: // www. example.com /abc/def.ghi?jkl=mno#pqr
user @ example.com
Обґрунтування
Чутливість до регістру в URL-адресах може мати декілька застосувань. В основному:
- Власна сумісність з файловими системами, що залежать від регістру.
- Більш компактне кодування даних у URL-адресах, таких як серіалізація, хешування, ідентифікатори, постійні посилання та скорочувачі URL-адрес.
Як розробник, я вважаю, що вищезгадане часто можна впоратися кращими способами, але я також розумію, що є випадки, коли ситуація може цього не допустити.
Наприклад, уявіть собі існуючий продукт, який вимагає багато даних, розміщених у URL-адресі "GET", але він повинен бути сумісним з максимальною довжиною URL-адреси всіх основних серверів, браузерів та механізмів кешування / проксі. Щоб розмістити навіть командний рядок середньої довжини (менше 1024 символів для деяких старих браузерів), вам потрібно буде використовувати кожен унікальний захищений URL-символ, який ви могли (що в основному є базовим кодуванням base64url).
В ідеальному світі
Чи ні URL - адреса має бути чутливий до регістру , є спірним. Я особисто вважаю, що цього не повинно бути для простоти (хоча це може створювати більш довгі URL-адреси, у нас є відсотки-втечі, щоб легко обробляти випадки, коли ми повинні забезпечити збереження точних символів, і є інші способи передачі даних, окрім правильних у URL-адресі) .
Багато хто, здається, погоджуються виходячи з того, що URL-адреси, що не залежать від регістрів, явно ввімкнено для багатьох популярних сайтів та служб, щоб підвищити зручність використання. Найвідоміший приклад - частина електронних адрес електронної пошти. Більшість постачальників електронної пошти ігнорують регістри, а іноді навіть крапки та інші символи (наприклад, "j.smith@example.com", як "JSMITH@example.com"). Незважаючи на те, що імена користувачів електронної пошти за замовчуванням залежать від регістру, відповідно до специфікації.
Однак факт полягає в тому, що незважаючи на те, що я або інші могли б хотіти, це стан того, як зараз працюють справи. І хоча можливий перехід у всьому світі на стандарт URL-адреси, нечутливий до регістру, це, ймовірно, займе досить багато часу, оскільки чутливість до справ зараз широко використовується в Інтернеті для різних цілей.
Кращі практики
Що стосується передового досвіду, то, як користувач, ви можете розумно дотримуватися малих регістрів у більшості ситуацій і очікувати, що все спрацює. Основними винятками будуть URL-адреси, які використовують кодування на основі регістра або шляхи до документа з прямими еквівалентами файлової системи. Однак такі складні URL-адреси, як правило, копіюються (або просто клацаються), а не вводяться вручну.
Як веб-розробник, ви повинні розглянути можливість збереження URL-адрес максимально нечутливим до регістру. Хоча, очевидно, є деякі важко уникнути ситуації, залежно від контексту, як зазначено вище.