Bir HTTP GET isteğinin uzunluğu, Microsoft, IE maksimum uzunluk destek sayfasını bildirdiği için RFC2616 tarafından zorlanmaz .
Bu nedenle, maksimum GET uzunluğu müşteri (tarayıcı) ile ilgili bir konudur . Uygulamanız insanlar tarafından kullanılıyorsa, belirli bir tarayıcıyı kullanmaya zorlayabilirsiniz, o zaman bu tarayıcının desteklediği sürenin ne olduğunu bulabilirsiniz.
Her durumda , Sorgu dizesindeki tarayıcıyla ilgili sorunlar hakkında Wikypedia sayfasına bir göz atmanızı öneririz (isteğin sonunda sunucuda uygulamalar için parametre getiren, "?" Yi izleyen bir istek.
Tabii ki Tomcat de sunucu tarafında bir sınır koyacaktır. RFC diyor ki:
Sunucular hizmet ettikleri herhangi bir kaynağın URI'sini idare edebilmelidir ve bu URI'leri üretebilecek GET tabanlı formlar sağlamaları durumunda sınırsız uzunluktaki URI'leri idare edebilmelidir. Bir URI, sunucunun idare edebileceğinden daha uzunsa, bir sunucu 414 (İstek-URI Çok Uzun) durumuna dönmelidir (bkz. Bölüm 10.4.15).
Böylece, Tomcat'ın bir limiti olup olmadığını kolayca test edebilirsiniz ve bu limitin ne olduğunu, sadece çok uzun bir hata ile başlayan ve bir buçuk oranında azalan farklı istekleri kullanarak öğrendiğinizi görebilirsiniz. Ardından kesin değeri hızlıca bulmak için bisection yöntemini kullanın.
server.xml
fark etmeden çizdiğimizi ve aniden vurduğumuzu düşünüyoruz. Painful gotcha: hiçbir şey hakkında hiçbir şey kaydedilmedi, bağlantılar sessizce kesildi (artık HTTP Durumunu hatırlamıyorum). Daha önce tomcat.apache.org/tomcat-5.5-doc/config/http.html adresindeki belgelere rastladım , ancakmaxHttpHeaderSize
ismini ve onun tanımını GET isteği sorgu parametreleriyle de ilişkilendirmekle ilişkilendirmedim.