URL neden büyük / küçük harf duyarlı olmasın?
Provokatif (ve "şeytanın savunucusu") bir retorik sorusu gibi görünebileceğini biliyorum, ama düşünmenin faydası olduğunu düşünüyorum. HTTP'nin tasarımı, genellikle "web tarayıcısı" olarak adlandırdığımız "istemci" nin, veri için "web sunucusu" nu istediğidir.
Yayımlanan birçok, birçok farklı web sunucusu var. Microsoft, Windows Server işletim sistemleriyle (ve Windows XP Professional dahil olmak üzere diğerleri) IIS'yi yayımladı. Unix, OpenBSD'nin dahili httpd'si veya thttpd veya lighttpd gibi daha küçük tekliflerden bahsetmeksizin nginx ve Apache gibi ağır ağırlıklara sahiptir. Ek olarak, ağ özellikli cihazların çoğu, yönlendiriciler (özellikle Wi-Fi erişim noktaları ve DSL modemleri dahil) ve diğer yazıcılar gibi diğer aygıtlar dahil olmak üzere, aygıtı yapılandırmak için kullanılabilen yerleşik web sunucularına sahiptir. Ağ bağlantısı olan UPS'ler (akü destekli kesintisiz güç kaynağı üniteleri).
Öyleyse, "URL’ler neden büyük / küçük harf duyarlıdır?" Sorusu soruyor, "Web sunucuları neden URL’yi büyük / küçük harf duyarlı olarak değerlendirir?" Ve gerçek cevap şudur: hepsi bunu yapmaz. Oldukça popüler olan en az bir web sunucusu genellikle büyük / küçük harfe duyarlı değildir. (Web sunucusu IIS'dir.)
Farklı web sunucuları arasındaki farklı davranışların kilit nedeni muhtemelen basitlik sorunudur. Bir web sunucusu yapmanın basit yolu, bilgisayarın / aygıtın işletim sisteminin dosyaları nasıl bulduğuyla aynı şeyleri yapmaktır. Çoğu zaman, web sunucuları bir cevap vermek için bir dosya bulur. Unix, daha yüksek uçlu bilgisayarların etrafında tasarlandı ve bu nedenle Unix, büyük ve küçük harflere izin vermek için istenen işlevselliği sağladı. Unix, büyük ve küçük harfleri farklı olarak ele almaya karar verdi, çünkü farklılar. Bu yapılacak basit ve doğal bir şey. Windows, önceden oluşturulmuş yazılımı destekleme arzusu nedeniyle büyük / küçük harf duyarlı olma geçmişine sahiptir ve bu tarih küçük harfleri desteklemeyen DOS'a geri döner, muhtemelen daha az bellek kullanan daha az güçlü bilgisayarlara sahip olanları basitleştirmek için. Bu işletim sistemleri farklı olduğu için, sonuç basitçe tasarlanmış (erken sürümlerde) web sunucularının aynı farklılıkları yansıtmasıdır.
Şimdi, tüm bu arkaplanla ilgili olarak, belirli soruların bazı özel cevapları:
URL'ler ilk kez tasarlandığında, büyük küçük harf duyarlılığı neden bir özellik haline getirildi?
Neden olmasın? Tüm standart web sunucuları büyük / küçük harf duyarlı değildir, bu, web sunucularının standart tarafından belirtilen bir dizi kurala uyduğunu gösterir. Bu davanın göz ardı edilmesi gerektiğini söyleyen hiçbir kural yoktu. Kural olmamasının nedeni, böyle bir kuralın olmasının hiçbir sebebi olmamasıdır. Gereksiz kuralları telafi etmek için neden uğraşasınız?
Bunu sordum, çünkü bana (yani, bir uzmana), gereksiz hataları önlemek ve zaten karmaşık bir metin dizisini basitleştirmek için büyük / küçük harfe duyarsızlığın tercih edileceği düşünülüyor.
URL'ler, makinelerin işlemesi için tasarlanmıştır. Bir kişi bir adres çubuğuna tam bir URL girebilse de, bu amaçlanan tasarımın büyük bir parçası değildi. Amaçlanan tasarım, insanların ("klik") köprülerini takip etmesidir. Ortalama meslekten olmayanlar bunu yapıyorsa, görünmez URL'nin basit veya karmaşık olup olmadığıyla gerçekten ilgilenmiyorlar.
Ayrıca, büyük / küçük harfe duyarlı bir URL’ye sahip olmanın gerçek bir amacı / avantajı var mı (büyük harf kullanımı olursa olsun, aynı sayfaya işaret eden URL’lerin büyük çoğunluğunun aksine)?
William Hay'ın cevabının beşinci noktası, bir teknik avantajdan bahsetmektedir: URL'ler, bir web tarayıcısının bir web sunucusuna biraz bilgi göndermesi için etkili bir yol olabilir ve daha az kısıtlama varsa daha fazla bilgi dahil edilebilir; kısıtlama, ne kadar bilginin dahil edilebileceğini azaltır.
Bununla birlikte, çoğu durumda, büyük olasılıkla IIS'nin genellikle bununla uğraşmadığı kanıtlanmış olan, büyük / küçük harfe duyarlılığa büyük bir yararı yoktur.
Özetle, en ilgi çekici neden, web sunucusu yazılımını tasarlayanlar için, özellikle de Unix gibi büyük küçük harf duyarlı bir platformda basitlik olabilir. (HTTP, Unix'in HTTP'den çok daha büyük olması nedeniyle, Unix'in orijinal tasarımını etkileyen bir şey değildi).