Farklı tarayıcılarda bir URL'nin maksimum uzunluğu nedir? Tarayıcılar arasında farklılık gösterir mi?
HTTP protokolü bunu gerektiriyor mu?
URL'leri 2000 karakterin altında tutarsanız, neredeyse tüm istemci ve sunucu yazılımı kombinasyonlarında çalışacaklardır. Belirli tarayıcıları hedefliyorsanız, daha ayrıntılı özel sınırlar için aşağıya bakın.
RFC 2616 (Köprü Metni Aktarım Protokolü HTTP/1.1) bölüm 3.2.1 şöyle der
HTTP protokolü aşağıdakileri yerleştirmez uzunluğuna ilişkin herhangi bir a priori sınır bir URI. Sunucular şunları işleyebilmelidir hizmet ettikleri herhangi bir kaynağın URI'si, ve SHOULD aşağıdaki URI'ları işleyebilmelidir sağladıkları takdirde sınırsız uzunluk GET tabanlı formlar oluşturabilir gibi URI'ler. Bir sunucu şunları döndürmelidir 414 (Request-URI Too Long) durumu eğer bir URI sunucunun yapabileceğinden daha uzun tutamacı (bkz. Bölüm 10.4.15).
Bu RFC, HTTP/1.1 spesifikasyonunun yenilenmesi olan RFC7230 tarafından kullanımdan kaldırılmıştır. Benzer bir dil içerir, ancak aynı zamanda bunu önermeye devam eder: İstek satırı uzunluğuna ilişkin çeşitli geçici sınırlamalar pratik. Tüm HTTP göndericilerinin ve alıcılarının aşağıdakileri yapması ÖNERİLMEKTEDİR en az 8000 sekizli istek satırı uzunluklarını destekler.
...ve gerçek
Standartlar böyle diyor. Gerçeklik için, bireysel tarayıcı ve sunucu uygulamalarının neleri destekleyeceğini görmek için boutell.com'daki bu araştırmaya bakın. Okumaya değer ama yönetici özeti şöyle: Aşırı uzun URL'ler genellikle bir hata. URL'ler 2.000 karakterden fazla en popüler web sitelerinde çalışmayacaktır tarayıcılar. Niyetiniz varsa bunları kullanmayın sitenizin çoğunluk için çalışması İnternet kullanıcıları. (Not: Bu 2006 yılında yazılmış bir makaleden alıntıdır, ancak 2015 yılında IE'nin azalan kullanımı, daha uzun URL'lerin çoğunluk için çalıştığı* anlamına gelmektedir. Bununla birlikte, IE hala sınırlamaya sahiptir...)
Internet Explorer'ın sınırlamaları...
IE8'in maksimum URL uzunluğu 2083 karakterdir ve görünüşe göre IE9 da benzer bir sınıra sahiptir. IE10'u test ettim ve adres çubuğu yalnızca 2083 karakteri kabul ediyor. Bundan daha uzun bir URL'ye tıklayabilirsiniz, ancak adres çubuğu yine de bu bağlantının yalnızca 2083 karakterini gösterecektir. IE Internals blogunda 6 bu konunun arka planını anlatan güzel bir yazı var. IE11'in daha uzun URL'leri desteklediğine dair karışık raporlar var - aşağıdaki yorumlara bakın. Bazı kişilerin sorun bildirdiği göz önüne alındığında, genel tavsiye hala geçerli.
Arama motorları URL'leri sever < 2048 karakter...
Bir sitenin arama motorlarını mevcut sayfalar hakkında bilgilendirmesine olanak tanıyan site haritaları protokolünün bir URL'de 2048 karakterlik bir sınırı olduğunu unutmayın. Site haritalarını kullanmayı düşünüyorsanız, sizin için bir sınır belirlenmiştir! (aşağıdaki Calin-Andrei Burloiu'nun cevabına bakınız) Ayrıca 2010 yılında arama motorlarının tarayacağı ve dizine ekleyeceği maksimum URL uzunluğu ile ilgili bazı araştırmalar yapılmıştır. Sınırın 2047 karakter olduğunu buldular, bu da site haritası protokolü spesifikasyonuyla uyumlu görünüyor. Bununla birlikte, Google SERP aracının 1855 karakterden daha uzun URL'lerle başa çıkamayacağını da buldular.
Ek tarayıcı toparlaması
Aşağıdakileri çok büyük bir LimitRequestLine ve LimitRequestFieldSize ile yapılandırılmış bir Apache 2.4 sunucusunda test ettim.
Browser Address bar document.location
or anchor tag
------------------------------------------
Chrome 32779 >64k
Android 8192 >64k
Firefox >64k >64k
Safari >64k >64k
IE11 2047 5120
Edge 16 2047 10240
Ayrıca aşağıdaki Matas Vaitkevicius'un bu cevabına bakınız.
Bu popüler bir soru ve orijinal araştırma ~12 yaşında olduğu için güncel tutmaya çalışacağım: Eylül 2018 itibariyle tavsiye hala geçerli. IE11 muhtemelen daha uzun URL'leri kabul etse de, eski IE kurulumlarının yaygınlığı ve arama motoru sınırlamaları, 2000 karakterin altında kalmanın en iyi genel politika olduğu anlamına gelir.
WWW SSS: Bir URL'nin maksimum uzunluğu nedir? ampirik test ve araştırmalara dayanan kendi cevabı vardır. Kısa cevap, 2048 karakterin üzerine çıkmanın Internet Explorer'ı mutsuz ettiği ve bu nedenle kullanmanız gereken sınırın bu olduğudur. Uzun cevap için sayfaya bakınız.
URI RFC]1 (URL'lerin bir alt kümesi olduğu) maksimum bir uzunluk tanımlamaz, ancak URI'nin ana bilgisayar adı bölümünün (varsa) 255 karakter uzunluğunu aşmamasını önerir:
URI üreticileri şu isimleri kullanmalıdır aşağıdaki durumlarda bile DNS sözdizimine uygundur DNS kullanımı hemen gerçekleşmez belirgin ve bu isimleri sınırlandırmalıdır içinde 255 karakterden fazla olmayacak şekilde uzunluk.
Ancak diğer yazılarda da belirtildiği gibi, bazı tarayıcılar URL uzunluğu konusunda pratik bir sınırlamaya sahiptir.