Tarayıcı bağımlı mı? Ayrıca, farklı web yığınlarının, istekten ne kadar veri alabilecekleri konusunda farklı sınırları var mı?Bir sorgu dizesinin olası maksimum uzunluğu nedir?
cevap
RFC 2616 (Köprü Metni Aktarım Protokolü - HTTP/1.1) bir sorgu dizesi (bölüm 3.2.1) uzunluğuna sınırlama yoktur belirtiyor. RFC 3986 ayrıca bir sınırlama olmadığını belirtir, ancak DNS sınırlamaları nedeniyle ana makine adının 255 karakterle sınırlı olduğunu gösterir (bölüm 2.3.3). Özellikler herhangi maksimum uzunluğu belirtmek olmasak da
, pratik sınırlar web tarayıcısı ve sunucu yazılımı tarafından empoze edilmektedir. Boutell.com bulunan araştırmasına göre:
Microsoft Internet Explorer (Tarayıcı)
Microsoft Internet Explorer bir URL maksimum uzunluğu yolunda en fazla 2.048 karakter yokken 2083 karakter olduğunu belirtmektedir URL'nin bir kısmı. Bundan daha uzun URL'leri kullanma girişimleri, Internet Explorer'da açık bir hata iletisi oluşturdu.Microsoft Kenar (Tarayıcı)
sınırı etrafında 81.578 karakter gibi görünüyor. URL Length limitation of Microsoft EdgeChrome
O 64k karakterden sonra URL gösteren, ancak birden 100k karakter hizmet edebilir durur bakın. Bunun ötesinde daha fazla test yapılmadı.Firefox (Tarayıcı)
65.536 karakterden sonra konum çubuğu artık Windows Firefox 1.5.x. URL'yi görüntüler Ancak, daha uzun URL'ler çalışacaktır. 100.000 karakterden sonra başka bir test yapılmadı.Safari (Tarayıcı)
en az 80,000 karakter çalışacaktır. Testler bunun ötesinde denenmedi.Opera (Tarayıcı)
en az 190.000 karakter çalışacaktır. 190,000 karakterden sonra test durdu. Windows için Opera 9 hatta 190,000 karakter konum çubuğuna tamamen düzenlenebilir, copyable ve pasteable URL'yi görüntülemek için devam etti.Apache (Sunucu) Apaçi bir "413 Varlığı Çok Büyük" hatası üretir bundan sonra yaklaşık 4000 karakterlik bir sunucu URL uzunluğu sınırı, çarptı web tarayıcılarında maksimum URL uzunluğu ölçmek için
Erken girişimleri. Red Hat Enterprise Linux 4'te bulunan güncel güncel Apache yapısı kullanıldı. Resmi Apache dokümantasyonu, bir talepte sadece bir alan üzerinde 8.192 baytlık bir sınırdan söz etmektedir.Microsoft Internet Information Server (Sunucu)
varsayılan sınırı 16.384 karakterdir (evet, Microsoft'un web sunucusu Microsoft'un web tarayıcısı daha uzun URL'ler kabul eder). Bu yapılandırılabilir.Perl HTTP :: 8.000 bayt kadar
çalışacak Daemon (Sunucu). Perl'in HTTP :: Daemon modülüyle web uygulama sunucularını oluşturanlar, tüm HTTP istek başlıklarının birleşik boyutu üzerinde 16,384 baytlık bir sınırla karşılaşacak. Bu, POST yöntemi form verileri, dosya yüklemeleri vb. Içermez, ancak URL'yi içerir. Uygulamada, bir URL 8,000 karakterden önemli ölçüde daha uzun olduğunda bu 413 hatasıyla sonuçlandı. Bu sınırlama kolayca kaldırılabilir. Daemon.pm içinde 16x1024'ün tüm oluşumlarına bakın ve bunları daha büyük bir değerle değiştirin. Tabii ki, bu hizmet reddi saldırılarına maruz kalmanızı artırır.
Neden "Microsoft Internet Explorer (Tarayıcı)" yerine sürüm numarasını söylemiyorsunuz? – Lijo
Bayt veya karakter yerine limit sayımı için teşekkürler :) Anlaması kolay. – sun
Sorgu Dizesi'ndeki varsayılan IIS sınırının 16,384 karakterden önemli ölçüde daha az olduğu anlaşılıyor. Burada 2048 olarak şu adresten bahsediliyor: https://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits – JTech
Bir uri dizgisi için maksimum uzunluk anlamına geldiğinizi varsayıyorum. This yardımcı olabilir.
Genellikle URI'lar çok uzun olduklarından okunamaz duruma gelirler, bunun yerine bir POST isteği kullanma zamanı.
Sadece bir GET isteğine sığacak çok fazla veri olduğu için POST isteğine geçiş yapmak biraz mantıklı. –
@Johannes GET çalışmıyorsa, ancak POST yaparsa, neden POST'a geçmek mantıklı değildir? –
@Eugene Beresovksy: GET ve POST farklı şeyler anlamına geldiğinden (ref. [HTTP/1.1 belirtimi] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)). –
Farklı web yığınları, farklı http isteklerini destekler. Deneyimden, Safari'nin ilk yığınlarının sadece 4000 karakteri desteklediğini ve dolayısıyla KULLANICI-DURUM nedeniyle ASP.NET sayfalarını işlemekte zorluk çektiğini biliyorum. Bu, POST için bile olsa, tarayıcıyı kontrol etmeli ve yığın limitinin ne olduğunu görmelisiniz. Yeni tarayıcılarda bile bir limite ulaşabileceğinizi düşünüyorum. Hatırlayamıyorum ama bunlardan biri (IE6, sanırım) 16-bit limit, 32.768 veya bir şey sınırı vardı.
rağmen resmen orada, birçok güvenlik yapılandırması önerileri sorgu dizesi dahil tüm url 2048 max ayarlanmalıdır iken bir sunucuda maxQueryStrings 1024 maksimum karakter sınırını ayarlı gerektiğini limitsiz devlet edilir karakter. Bu, yavaş DDOS saldırılarını önlemek için bir web sunucusundaki Yavaş HTTP İsteği güvenlik açığını engellemektir.
- 1. Bir python dizesinin maksimum uzunluğu nedir?
- 2. MySQL'te olası olası maksimum MATCH değeri ('...' NATURAL DİL MODU) nedir?
- 3. Alt işlem nedir.Args parametresinin maksimum uzunluğu nedir?
- 4. . Net çekirdekte varsayılan maksimum istek uzunluğu nedir?
- 5. Maksimum bayt uzunluğu []?
- 6. MySQL ve GROUP_CONCAT() maksimum uzunluğu
- 7. SQLAlchemy - maksimum sütun uzunluğu
- 8. ** argv parametrelerinin maksimum uzunluğu
- 9. PDO girişin maksimum uzunluğu
- 10. HttpRuntime.Cache nesnesinde maksimum önbellek uzunluğu uzunluğu?
- 11. Box2d: Maksimum olası doğrusal hız?
- 12. Bir DLL dosyasındaki işlev adlarının maksimum uzunluğu
- 13. Mac OS X Lion: Maksimum yol uzunluğu nedir?
- 14. OneDrive SDK ile kullanılabilecek maksimum dosya adı uzunluğu nedir?
- 15. MathNet.Numerics ad boşluğunda bir vektörün sorgu uzunluğu
- 16. Oracle sayı formatında modeli maksimum uzunluğu
- 17. NetcatSource: İstemci maksimum uzunluğu aşan göndermişti
- 18. Maksimum Taslak Uzunluğu nasıl sınırlanır js
- 19. "Modern" web tarayıcılarında maksimum boyut/normal ifade ifadesi uzunluğu?
- 20. Boşlukları ve maksimum uzunluğu kullanarak bir dizgeyi bölme
- 21. Sorgu dizesinin Express.js/Node.js'de değerleri olup olmadığını nasıl kontrol ederim?
- 22. Sorgu dizesinin htaccess ile URL'nin sonuna kadar çekilmesini nasıl önleyebilirim?
- 23. Bir oturum değişkeninin tutabileceği maksimum boyut nedir?
- 24. Raylar, ben gibi bir yorumun maksimum uzunluğu sınırlayan bir açıklama modeli var
- 25. Maksimum Elasticsearch belge boyutu nedir?
- 26. İp uzunluğu yerine, maksimum hizalama uzunluğu için Levenshtein mesafesinin nasıl normalleştirilmesi gerekir?
- 27. asp.net web hizmeti maksimum json giriş uzunluğu aşıldı
- 28. .NET 4'teki Entity Framework'teki alan maksimum uzunluğu nasıl bulunur?
- 29. LOB verilerinin uzunluğu (78862) çoğaltılacak yapılandırılmış maksimum değeri aşar. 65536
- 30. WCF servisi Maksimum dizi uzunluğu kotası (16384) aşıldı
Ayrıca bu http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-an-url adresini de kontrol edebilirsiniz – Xinus
Sadece GET istekleri içindir! POST isteklerinin maksimum boyutu (çok parçalı/form verili veya içermeyen) burada bilinmiyor! – peterh