Pelestarian Kasus
URL melindungi huruf , antara klien dan server. Tetapi sebagian URL mungkin peka terhadap huruf besar atau kecil , tergantung pada server, karena beberapa alasan.
Sensitivitas Huruf
Berikut berani bagian dari URL mungkin menjadi kasus-sensitif, tergantung pada lokasi dan / atau konfigurasi server.
http: // www. example.com /abc/def.ghi?jkl=mno#pqr
user @ example.com
Alasan
Sensitivitas huruf pada URL dapat memiliki beberapa kegunaan. Terutama:
- Kompatibilitas asli dengan sistem file case-sensitive.
- Pengkodean data yang lebih ringkas dalam URL, seperti untuk serialisasi, hashing, ID, permalinks, dan penyingkat URL.
Sebagai pengembang, saya percaya hal di atas sering kali dapat ditangani dengan cara yang lebih baik, tetapi saya juga mengerti ada kasus di mana situasi mungkin tidak mengizinkan ini.
Misalnya, bayangkan produk yang sudah ada yang membutuhkan banyak data yang ditempatkan di URL "GET", namun harus kompatibel dengan panjang URL maksimum dari semua server utama, browser, dan mekanisme caching / proxy. Agar sesuai bahkan dengan string perintah ukuran sedang (di bawah 1.024 karakter untuk beberapa browser lama), Anda harus menggunakan setiap karakter unik URL-safe yang Anda bisa (yang pada dasarnya adalah pengkodean base64url).
Di Dunia yang Ideal
Apakah URL harus peka terhadap huruf besar atau kecil masih bisa diperdebatkan. Saya pribadi percaya mereka tidak boleh, untuk kesederhanaan (meskipun dapat membuat URL lebih lama, kami memiliki persen-lolos untuk dengan mudah menangani kasus di mana kita harus memastikan pelestarian karakter yang tepat, dan ada cara untuk mentransfer data selain tepat di URL) .
Banyak yang tampaknya setuju berdasarkan fakta bahwa URL yang tidak peka huruf besar-besaran diaktifkan secara eksplisit untuk banyak situs dan layanan populer, untuk meningkatkan kegunaan. Contoh yang paling menonjol adalah bagian nama pengguna dari alamat email. Sebagian besar penyedia email akan mengabaikan huruf besar kecil dan kadang-kadang bahkan titik dan simbol lainnya (seperti "j.smith@example.com" sama dengan "JSMITH@example.com"). Meskipun nama pengguna email peka terhadap huruf besar-kecil, menurut spesifikasi.
Namun, kenyataannya adalah bahwa terlepas dari apa yang saya atau orang lain inginkan, ini adalah keadaan bagaimana hal-hal saat ini bekerja. Dan sementara transisi di seluruh dunia akhirnya ke standar URL case-sensitive tentu mungkin, mungkin akan memakan waktu yang cukup lama karena sensitivitas case saat ini digunakan secara luas di seluruh web untuk berbagai keperluan.
Praktik terbaik
Sejauh praktik terbaik berjalan, sebagai pengguna Anda dapat tetap menggunakan huruf kecil untuk sebagian besar situasi dan mengharapkan sesuatu berfungsi. Pengecualian utama adalah URL yang menggunakan pengkodean atau jalur dokumen berbasis kasus dengan sistem file langsung yang setara. Namun, URL kompleks semacam itu biasanya disalin-salin (atau cukup diklik) daripada diketik secara manual.
Sebagai pengembang web, Anda harus mempertimbangkan untuk menjaga URL sebagai case-sensitive mungkin. Padahal jelas ada beberapa situasi yang sulit dihindari, tergantung konteksnya, seperti disebutkan di atas.