Soru Farklı tarayıcılarda maksimum URL uzunluğu nedir?


Farklı tarayıcılarda maksimum URL uzunluğu nedir? Tarayıcılar arasında fark var mı?

HTTP protokolü dikte ediyor mu?


4118
2018-01-06 16:14


Menşei


FWIW, Windows kullanıcıları için 250 karakterden fazla sunucu yolları Mayıs ayıÖrneğin, URL’ler oluştururken üzüntü Uzun dosya adları için HttpContext.Current.Server.MapPath başarısız en forums.asp.net. alt satır: Bir kısıtlama sizi almazsa, diğeri Mayıs ayı. - gerryLowry
itibaren support.microsoft.com/kb/208427 "Maksimum URL uzunluğu 2083 Internet Explorer'daki karakterler " - gavenkoa
Sorabilir miyim niye ya bunu bilmek zorunda mıydın? Yani uzun bir URL için kullanım durumu nedir? - o0'.
@Lohoris: Bir form kullanırsa get ziyade postDaha sonra, doldurulmuş formun ulaştığı sayfaya yer işareti eklemek, girilen bilgileri yakalar. Bazı durumlarda, bu kötü olabilir, ancak diğer durumlarda yararlı olabilir. Bununla birlikte, bunun çalışması için, tarayıcının tüm bilgileri içeren bir URL'yi işleyebilmesi gerekir. - supercat
@Lohoris Rapor oluşturmak için sayfa yazarken bir ölçüt formu kullandık. Bazı raporlarda, URL'yi yerleşik kriterlere sahip birisine e-postayla gönderebilmeniz yararlıdır. Rapora bağlı olarak, bazen kullanmak zorunda kalıyoruz post veya kriterler kesilir. Sadece başka bir kullanım çantası. - buzzsawddog


Cevaplar:


Kısa cevap - 2000 karakterin fiili sınırı

URL'leri 2000 karakterin altında tutarsanız, neredeyse tüm istemci ve sunucu yazılımı kombinasyonlarında çalışır.

Belirli tarayıcıları hedefliyorsanız, daha ayrıntılı bilgi için belirli sınırlara bakın.

Daha uzun cevap - önce, standartlar ...

RFC 2616 (Hypertext Transfer Protocol HTTP / 1.1) bölüm 3.2.1 diyor

HTTP protokolü yerleştirilmez   uzunluğunda herhangi bir ön sınır   bir URI. Sunucular işlemek ZORUNLU   sundukları herhangi bir kaynağın URI'sı,   ve URI'ları kullanabilmeli   Sağladıkları sınırsız uzunluk   Üretebilecek GET tabanlı formlar   bu URI'lar. Bir sunucu iade edilmelidir   414 (İstek-URI Çok Uzun) durumu eğer   URI sunucudan daha uzun olabilir   ele alın (bkz. bölüm 10.4.15).

Bu RFC tarafından devre dışı bırakıldı RFC7230 HTTP / 1.1 belirtiminin yenilenmesidir. Benzer bir dil içerir, ancak bunu önermek için de devam eder:

İstek satırında çeşitli ad hoc sınırlamaları bulunur.   uygulama. Tüm HTTP gönderenleri ve alıcıları TAVSİYE EDİLİR   asgari olarak, 8000 oktetlerin talep satırı uzunluklarını destekler.

... ve gerçek

İşte bu standartlar söylemek. İçin gerçeklik, görmek bu araştırmada boutell.com'da Bireysel tarayıcı ve sunucu uygulamalarının neler destekleyeceğini görmek için. Okumaya değer, ama yönetim özeti:

Son derece uzun URL'ler genellikle bir   hata. 2.000'den fazla karakterden oluşan URL'ler   En popüler web'de çalışmayacak   tarayıcılar. Eğer niyetindeyseniz onları kullanmayın   sitenizin çoğunluğu için çalışmak   İnternet kullanıcıları.

(Not: bu yazılan bir makaleden alıntıdır. 2006Ancak, 2015'te IE'nin kullanım azalması daha uzun URL’ler anlamına geliyor yap çoğunluk için çalışmak. Ancak, IE hala sınırlama var ...)

İnternet Explorer'ın sınırlamaları ...

IE8'in maksimum URL uzunluğu 2083 karakterdirve öyle görünüyor IE9'un benzer bir sınırı var.

IE10'u test ettim ve adres çubuğu sadece 2083 karakterini kabul edecek. Yapabilirsin tık bundan daha uzun bir URL, ancak adres çubuğu bu bağlantının yalnızca 2083 karakterini gösterecektir.

Orada bir IE Internals bloguyla ilgili güzel yazılar Bu arka planın bazılarına gider.

IE11'in daha uzun URL'leri desteklediği karışık raporlar vardır - aşağıdaki yorumlara bakın. Bazı insanlar sorunları bildirirken, genel tavsiye hala geçerli.

URL'ler <2048 karakterleri gibi arama motorları ...

Farkında olun site haritaları protokolübir sitenin arama motorlarını kullanılabilir sayfalar hakkında bilgilendirmesine olanak tanıyan bir URL'de 2048 karakterlik bir sınır vardır. Site haritalarını kullanmayı düşünüyorsanız, sizin için bir limit belirlendi! (görmek Calin-Andrei Burloiu'nun cevabı altında)

2010'dan itibaren bazı araştırmalar da var. Arama motorlarının taranacağı ve dizine ekleyeceği maksimum URL uzunluğu. Sınırın, site haritası protokolü özelliklerine uygun görünen 2047 karakter olduğunu tespit ettiler. Ancak, Google’ı da buldular SERP araç, 1855 karakterden uzun URL'lerle başa çıkamaz.

Ek tarayıcı toplaması

Aşağıdakileri çok büyük bir yapılandırılmış bir Apache 2.4 sunucusuna karşı test ettim LimitRequestLine ve LimitRequestFieldSize.

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 bakınız bu cevap Matas Vaitkevicius aşağıda.

Bu bilgi güncel mi?

Bu popüler bir sorudur, ve orijinal araştırma ~ 9 yaşında olduğu gibi bunu güncel tutmaya çalışacağım: 2017 Eylül, tavsiye hala geçerli. IE11 muhtemelen daha uzun URL'leri kabul etse de, eski IE kurulumlarının ve arama motoru sınırlamalarının yaygınlığı, 2000 karakterinin altında kalmanın anlamı, en iyi genel politikadır.


4180
2018-01-06 16:22



IE11 olduğunu unutmayın 260 karakterden uzun URL'lere yer işareti koymayacak. Edge'in de aynı kısıtlamaya sahip olup olmadığından emin değilim. - Brian
Bugün IE11, URL’imi 2048 karaktere indiriyor. - AntiCZ
Edge, Firefox ve Chrome'dan ne haber? IE şu anda burada nesli tükenmiş ... - bernstein
2016 yılında Chrome'da basit bir komut dosyasından osx open komutunu kullanarak 260300 ascii chars ile bir url açabildim ve tüm karakterlerin sunucuya aktarıldığını doğrulayabilirdim. Tarayıcıdaki URL, 32791 karaktere kadar kesilir, ... ile sonlanır ... (% E2% 80% A6% E2% 80% A6) - Rob Dawson
@Paul Dixon Bu sitedeki soruları yanıtlarken yukarıda ve öteye gitmeye istekli olan insanları görmek çok güzel. Açıkçası, insanlar şu anki saygınlık sayımı 3734 ile şükranlarını gösteriyor, ama ben teşekkür etmek istedim! :) - drognisep


WWW SSS: Bir URL'nin maksimum uzunluğu nedir? Ampirik test ve araştırmaya dayanan kendi cevabı vardır. Kısa cevap, 2048'den fazla karakterin Internet Explorer'ı mutsuz kılması ve bu yüzden kullanmanız gereken sınır olmasıdır. Uzun cevap için sayfaya bakın.


142
2018-01-06 16:18





Karşılaştığım en uzun URL'ler veri URL'leri

Google resim sonuçlarından örnek resim URL'si (11747 karakter)

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBhQSERIUExQUFRUUFxcXFhQYFBQXGBgYFhkVGBkVFxUXHCYfGBojGRQVHy8gJCcpLCwsFh4xNTAqNSYrLCkBCQoKDgwOGg8PGiokHyQpLDUqKSwsLCksKSwpKSwsLCwpKSkpLCwpLCksKSwpLCkpLCwsLCkpKSwsLCwsLDQsLP/AABEIAM0A9gMBIgACEQEDEQH/xAAcAAACAgMBAQAAAAAAAAAAAAAABQQGAgMHAQj/xABTEAACAAQCBAcLBgsFBwUAAAABAgADBBESIQUGMUEHEyJRYYGRFBYyVHF0lKGxs9IjNEKS0dMXMzVSYmRypMHj8GOTo7LiJENzosLh8RVTgoPD/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF/8QAJxEAAgIBAwMEAgMAAAAAAAAAAAECEQMSITEEE0EiUWGBkfAyceH/2gAMAwEAAhEDEQA/AOiaq6q0b0NGzUlMzNTySWMiUSSZaEkkrmbw17z6LxOl9HlfDBqf8wovNpHu0hvACjvPovE6X0eV8MHefReJ0vo8r4YbwQAo7z6LxOl9HlfDB3n0XidL6PK+GG8EAKO8+i8TpfR5Xwwd59F4nS+jyvhhsTaKnX69gzGlUiCc6+FMZsMpTuBYAlj0LnFoxcuCG0ht3n0XidL6PK+GDvPovE6X0eV8MIX0jpQ8pe5SPzeKndmLFl2QuPCpMpnwV1Pg345ZuLc4DbfbG0enlJelp/ZR5EuS3959F4nS+jyvhg7z6LxOl9HlfDDCjrFmosxCSrgMLixsdmRzEb45zQUd59F4nS+jyvhg7z6LxOl9HlfDDeCAFHefReJ0vo8r4YO8+i8TpfR5Xww3ggBR3n0XidL6PK+GDvPovE6X0eV8MN4IAUd59F4nS+jyvhg7z6LxOl9HlfDDeFOsNVMlSmmI1gguRhBJ6zsispaVZWclGLkzzvPovE6X0eV8MHefReJ0vo8r4YR8HOsM6slzZk1sXyhC5KoVRsGQuTe+fRFzhGWpJkQlripIUd59F4nS+jyvhg7z6LxOl9HlfDDeCLFxR3n0XidL6PK+GDvPovE6X0eV8MTarSUuX4TAHm2nsELn1vkA/T8uA/8An1RFommbO8+i8TpfR5Xwwd59F4nS+jyvhiTRabkzckcE82w9hibeJIFPefReJ0vo8r4YO8+i8TpfR5Xww3ggDlfDJoCmk0MppVPIlsahRdJUtDbi5xsSq7LgZdEET+HL8nyvOU93OggC3an/ADCi82ke7SG8KNT/AJhRebSPdpDeACCCCACCCCAKJwqawtIpxKlmzzSF+sbD7Yaal6spTyJeWdt/PvY/pE3zig8LVYe7pSnwZZlP1XzPqMdfoyMC22WFvJHZnjoxwS8qzDG9UpG20J9YNWJVWJfGC5ltiXmB57b4cXjwuI5E2uDdmqlplloFXYP6vCys1slI5lqHmzB4SSlxlf2jsXtjXrjpjuelmMu2xAPNkbwk4M9HiZRS5r5mZdzfezE3Y9OQjFybnpR0RxKOLuy8ukNqTXymeZxTFpT3ACzVKZndfZ64sQaKRwk6qpOpjNVbTJViLb1ORB6M7xp4NdZ2mULrNbE9OxTEdpXIrfpAyjKWftatfhWbz6eMsKzY/emvZ/BcazSySzhJJb81QS3YI0S9Y5RNiSh/SFor2qMs1Lz5sw35ZFvJYAeS1oe6Y0KjSyVADKLgjo3Rjrzyw92LV1aVePa/c5tMVLSyfWKXlOEbCzIwVttiQQG6iQYrmite0s0qpWZKnyrK6lGYMdheWUBxKduwbYhauadaUKqSxvxKmYnQLG69RF+uIPBtO7parmOxLcacWZuRYYc+a149Ho5xz9P3mttjnypwyaCfrFwlyUllJAmTJrghbIbKdmJt+V72tfKGOkq7jNGs3K/FgXZcJa1gWwnMXil8LGglpml1cnkNfOxPhLmrdYuOuLdpScH0WXC4caKxHSbXjbq4QWBSh5TOWUpOM78IW8Dy2o2PPMf/ADGLTpLWWVJYIcTzCL8XLUs1ucgZAeUxTuDOr4rRkx/zS568RiHqTpRWFTOmiZMZpzDAiMxbCAADuA8pG0xwRnUYx+D0elwt4VNq+FXyXGh16ppk0SSWlzDkEmLhueYHZG/SGlicSICtiQW+G0UzT2hGrp0l3lrTy0a5UHFNcAg2YryU2biTFolSYjuSTaZ05MOPZw9t1zT+GaHpYW1VHDubkIV1c6M3ImMCu18gizC4YG9wbeyLFqhrizsJM7Nrch/zug9Iiu11VmemFAurFkyIs6nmYfbGkMjM54juAa+cewk1V00KiQjjeBlzHeIdx0nIc64cvyfK85T3c6CDhy/J8rzlPdzoIAt2p/zCi82ke7SG8KNT/mFF5tI92kN4AIIIIAIIIIA5zwvauNNlJUS1uZV1mAbcBzDdRHYY38GOuizpCU01gJ0sYVufxiDYQd7AZERfZksMCDmDkRHPNYOCWW7mZTM0lib2U5X6Bu6o7YZsc8fay+OGYSxyUtUToM6XiBFyLjaDYjyHdHONddCGkp3mynYFib3dmOYO0sY3UGh9LSrKatmX9KUjntOcStJ6lz6xQtTPmOozwnBLW/OVQXPbEYWsM1LVa+xNOaqtxBRaPmT9X1KZsLzCMyW24yScybeyHHA9plXpWpyRjkMbDeUOYbtuItmrugVpadZK+CosN+XXCHSXBtKM7j5BaRMOZaWxTM7TzdUcE05ZHkR6WLLHsdia/p+w41x0ikmjnO5AGGw6SbWA6YpvBroRxSVDlbNOYuFP/KPqj1xYU1JDlTOZpjLseY5mEdKqeSD1RZqWjWWoVRYe3yxnPEsl6/KojvaMfbg/Nsp2olUEnTpRyxHGvl2FfLleLjVTQqszEAAG5hJpjVBZr8ZLJlvzqbZ88Ytq7MmLhmuXH6TXH1RYHrjnxY82LH2tnWyfx8ozlKMpaiv6o0gqKmpmkXlODLAI2oARfrv6oXaO0BV6KqneSFm0z3xBiQcIzBuAeUBlsi+VE6TQU7OfBXM2tdjuivUWl6ytXEjLJlsMlWWJj2OwsznCMtwEel0WN9Ph7afo4d+f9ObM1OV+RRPqzpqfxZssqnYHiwTy2P03O3CN1t8W7WemEvR8xBsVR7Y5vpnVSr0a/dUh3IBzay4gDnZlXJlPNF/oXl6X0chcEY/CUMygOhIOzMi49cb9biUoasT9PC+DnqUoyxtb0JODSk43Rc1B9IzFBvvubeu0V7g802tLUzqaq5CzGPhbFm3sQ3QRsPRF+1a1IWiYmWzWP0cb4c/0L2v02jXrXweSK04yMEze6mxNufceuPMeOXpa5R6vR5owxPDmWzrjw15J+lVXFKC2w2JFrW5oJZGy47YqWh9Adz8bIEyYSrjGWYEgYTYIdwNt0LNKz6FTKOCdeYSEYTJlmNyuR35g5gWy2xST1S3NIxUVtx+C/T5eUVzTFRLl+G6qL2zYCJU6rEulZgzWOdjmRkMrxR9HFKlsU2Xju1uUSVHlF7DymKVZpdGVfpaVc4ZinyGIPddwc/6Ee6T09Yuq0glKpw/ixn0hgPbzQvH5wyB3RpwZ6tzofBlWZMm4MfWL/wAY6VHHNQtIKk4KTYuSV6cIF/bHYZZuB5I6Yu0ck/5M55w5fk+V5ynu50EHDl+T5XnKe7nQRYoW7U/5hRebSPdpDeFGp/zCi82ke7SG8AEEEEAEEYlxzxlABBBBEALQR5eAGJB7BBBABBBBEALQQXgiQVDhO0TNn0TCVclTdkG1lNwcPSL36oS6k8ItOlOkmovJmSxhJZGCtawBFhkbbiI6QVhbU6uyHNymcdEcq0aJq0uK2Zk4PVqiV3T2tcupkTJNIGnNMUqXwsstAcsbuw3bgLkwy1E0GaWlWWTf+JOZPrhrI0NLS1lvbZck2iaIylNadK2RdR3t8nsEEEULFWnSFM+ffeQD2GMpuhlIAsAo5gBlzXHkjXpCdhqnXebPboNgD2gxPefYZ9sceTaTO7FehFU10YrTHDsJt1C32RSdXp9mYc8XjWqtx0zIsss+wEbL3238m6KBTKUmLjBUre/ST7ILgv53LXO0YHF3ucss4q+l1Cmw2RapGkA6AA8q2Qio6Xzc9Bt5TviIkzqtjdq4v+105uLhZuEb7MLE2/8AjHdtHNeWvkjiuq9F8tKJWzIGud/KyC+2O2UIsijojpx8HL1D9X0UHhy/J8rzlPdzoIOHL8nyvOU93OgjQ5y3an/MKLzaR7tIbwo1P+YUXm0j3aQ3gCp8KdS0vRdSyMUYcVZlYoRedKB5S5jK+fNCXSOsLUFItTK4ppMuotULIqHrCUZCos80DAwcrcXAtvztHRHlgixAI5js7IwSlQAgKoB2gAAHqEAcb1jrp7tR90CWZz0tHMdwmFrtpCRZM7WADLdbbRHaYwaSpNyATzkA9PtzjOAPGin1MyeJkyWhc8TNaoOZJeW9mSWoxb7zkCnI8Xui4GFj6GYknuioF9wMrs/F7I0xSUW7IZUqXWGeJrWayvNWZLVmk2aXNK2/GNxjDDcjixbMb7xP1O0g1qWWJqTVMi7KoT5EyxLCqcJJucTA4t6mwEO//QDcHuifcbDeTl5PkozpdCYGDCdOyIJHyVjbcbSwbdcdE8uOUaVfv0VpjSFGtrgUNUS2G0qYQwYoQQpIswIINwN8N4iV9FxoAxug34cGfQcStHLFpSVlytz9IzhMKypwWWJlPJQBUfKbLU8YHa5Yi5tckZb4j6R1pmJIQ4ysxePJ+bqr8U8xFznEXJ4u5CZjF5IsI0EfGKjtlbtn+6jFtXyds+efKZJ27dsqOpTx7N1+/RSmIpeskwvKPGqWeZNU02BclSXOZGvbGL8WhF9uI2vEGVrTUMFJmqqsoZrzKLjFY4TgRceG1i1+Ms1lFhe8WQaorxvG8fUl+czVIGWG4QphBsSLgXzPOY3HVz+3n/4Pb+Ki/cwrwvwKYxoJuKWjXJxKpuy4WNwDcr9E9EbzGumk4VClmaw8JrXPSbAC/VG0xwMuUzTdVhaod85stxxEsz5kktLCI15SrcTH4zGNhvax6d0zSk/C7tNVENS8gHAlpUtHmDjGZrgnkgXPJswyvnDifoQs2Ljp4zuADK5PQt5ZIGXPGJ0ESCO6J9t4vK9nFR1KcKVlXYiXWp0l1Reah4uU5kTCFHGspnDGoGT5LLyUWj06wzcb2nSrrPWWJBCg4GWXd3+kApcm4ysM7xP0nSS5CY5lTPAXwR8iTnuUcXHONIaVeYZhQnAz48LsCS1gCWZFG4DLYIs8mKm0v38EVItNPrJLngo08PPWYFw/I3HJJKq0o2I6Cb7Lw7Zi6qVwm4yxXtfdsjiOg+TxyDkTVmNMA27TiRhzi/tMdH1a1pWalm5MxTy0/wCpT+bv6I8zqPVLUkd2HZUT5GlFbkTJ3EzACcJkckEEA4XPhWvz3is611AViEm8cxa2Li1VQNoNx4RzbZvt5YtdUVmqWlulmzuAHUkb7g7coqWkKeWXzmYiLliLBcs7WG0xlqS2OpRT3Na4ZUlXxctLn9okWAPRe3ZCCvqklhTNJCKQXa1zcnM2G2NldX3O3krdid2UUjTmluOLAeABl0n84xeKt2c8nsz6C1Nl0tQomSJsqYciQrAsLD6S7Rs5ovKCwA5o+KqKodGDS2ZGGYZWKkeQjOOj6tcLmkaeweYJ6fmzRdrc3GDPtvHSculs6Xw5fk+V5ynu50EUzhA4S5VdQy0Mt5UxZyuRcMpASaDZh0sNoggZ7nYdT/mFF5tI92kR6/TdQKlpEiTLmYZaTCzzTL8MstvAN/AMSNT/AJhRebSPdpEel/KlR5tI95OgSed31/itP6UfuoO76/xWn9KP3UWCCAK/3fX+K0/pR+6g7vr/ABWn9KP3UWCCAK/3fX+K0/pR+6g7vr/Faf0o/dRYIIAr/d9f4rT+lH7qDu+v8Vp/Sj91FgggCv8Ad9f4rT+lH7qDu+v8Vp/Sj91FgggCv931/itP6UfuoO76/wAVp/Sj91FgggCv931/itP6UfuoO76/xWn9KP3UWCCAK+dIV/itP6UfuoS13CBOlXvJp2I2hKh2PqlW9cMtfdYVppABcIZmWInYv0j6wOuOYStYqViAJ8u53YhEWTRbDwutn/swv0zPblC6o4VKt/ASVLHkZj2kj2QrqKVZq4kYXGxgb9ttxiFTycQOQBU2ZeY/YYgskGlNM1E9g05yencOgAbI1Sap9jHLyf1eJiy4yFOPsgSJNJ6NLMsxDZl2Hy7jDvRmqM+fKE2eDIyay3znZHaV5UuWd9uVDLQmjONmiw5KWLeXaF8tob6114lSWNwMKk3PPuvHPknXB1YYXyc/07rQaGR3PT2AxNeXyisoG1wrsLsCdzZiKgNcJh2gHovYeqOoap6ckv8AIEKzTXyVwrBhhzOEjZySOqKPwlavJIrDxUsKjqrBUFgpO0gbBfmhjab3W5pkUorZ7COq0tMnrhICrfwVvn+0d8QahcK9JyESqGUQGFiLgWvYbNufkiVRaPUsCflWO4eCv2xvwcz3FujtFO1ssosFPo3CNkOJFOBlbsiZLpgd1rwsrwioaelWlL+2PY0ETdcZGBR+0PY0EKIs+kdT/mFF5tI92kZpoxlq5s8FSHlS5YXO4wM7Xv04/VGGp/zCi82ke7SG8XMTVd+Ze0/ZBd+Ze0/ZG2CANV35l7T9kF35l7T9kbYIA1XfmXtP2QXfmXtP2RtggDVd+Ze0/ZBd+Ze0/ZG2CANV35l7T9kF35l7T9kbYIA1XfmXtP2QXfmXtP2RtggDVifmXtP2QYn5l7T9kRNJaWEsWGbc3N0mEFRpac30iP2cvXFJSSLxg5FU4SaHumt4uaGwy5ahbbATyiT1xUX0bKkgyp8mXMlm9pgQXHltmLDeIuWmtDGYSxuzHeWN8umKvpCna6WDq6XIzaYrdDKcz5RcjmMUU0zTtyiRdH6O7lzkkGXcG5bYpOV3GWG+x7W3GxhnUPgmJNwkKxEuYDbYckfLI2YjPpiLo1iclFjmyW5UsN9JMW5W3qbEcwiZUUSsmFwVDDlIp2E9MaIqe1MmxjCXTTLE2sADmSPZv5+qNrTwtibCwsOoWHsjyTpEXvfqiBwXvRdMsmSoWxFr4ucnMt1xzzhM0gWlcWubTGw+u/8ACJtJrM8pWkk5LmpP5jZqOrZ1QvKrPmLMfwUuR0k9EcMnUj0scE037lU1So6iRWUj4bAzFS+f0iRn0ZmLVwgU6zJs0XyliQo8pdsgfIYx03VJLVSHCFSCrE2sQdsVzSOvTOWAXjQxQsxGHOXe2Dy74v6pu0iXogqbNOlKWQJqSZbYjblqc1vuGLn6Ilyacy7XXaPCGy/SBshNoLRxLYzfEST2xdaWVlHStlRwTlbtI1UtM3QOke2J8pAvSeeIk2fhuu4WYeQm3qJ9cbUfKJM2VnXcEoDb6Y/ytHkb9dE+QX/iL/lf7I9iSD6F1P8AmFF5tI92kN4Uan/MKLzaR7tIbxczCCCCACCCCACCCCACCCCACCCCACNNXUiWjMdwjdFd1hqiXWXuAuf66orJ0rLRVuhepaYxZjtziSKYAXMFNa1zYdMJtKa70Us4GnYmzylqz7OlRaOa7Ot7bInT7bB64q+nESxuCNljzEbxzQ6k10uYgmoxKkb1IPWDsjnusGn509mEviJUtTYzJhzJ/rdaKqLZdyomaO0gXuv0lyY725mJ3kwweVgBLbeaKlq5UOs+7MrclswLBh/2MWOqqMUdEeKOaS32E+kKs3MRJFbYxhpR7XhUk/OBdIbaxVWGUk4C5QlWGzJtnrv2xWDrZUNbDhHNlf2xYhVo0tkmHJhY9Ytfq2xTaeyTCh2gkQUU92Rqa8ktKabPcNNYsen+Aiy0ur4w7B/XRGjRbDKLJStEsiyFQ6NwQ2krG1ADGdoEEGvTIE7M1bnwttHq7QIjUk3aMsjbKJ1QpIOz/wAZ/wAIU0rWII8Ell+rYr/yMo6oENETXH8Qv/EX/LMgjVrY/wAiv/EHsmQRJU+iNT/mFF5tI92kN4Uan/MKLzaR7tIbxczCCCCACCCCACCCCACCCCACCCCAI2ktIJIlTJsw2SWpZj0DmG8nZ1xQ9FV06oxzZieEz2IZWUKLALcbCM8vth5wiOO5kUnJp0rF0hG4wr03wWhZQYjLliWyqgVsa2uSLckDPLbc9cYZW+DpwJNskzKdZkoq+ak3YZ5gbsorGlqKo5HEy5EhA2fJVppG4g7Fi20RHqjHS6y5aGY27dvJOQHbGG5vSIFIjvSGXNILMpBPSRutHJ6PRGF2lsFLKx8LM7TZgLx12bWGWoxAGwJYXOX6KhRY+XojmWtrsanjVTApCEc9xe/tjSNoidPcgz6cSXuOSDtPSdvrhgKvLtiLpar42QjsAM8+Y2F8vqwpl1eIReBSaR7paqGcV6dXc0SdKV6DInEfzR/HdCGfVYtgsPXGiRk5JEv/ANQzzMRqipxOGG3n540IhOzOJlLo5rgmJpGdtj3RM05RaqJ9kJNG0NgMosFLIirLDKSY3mNUhY3QLGphCgyQFmS+kzFO84Lkj6hb6sOmtzQs0rNw4XIyUi/kG0fVxwIsrGtE+8hel1PYr/bBGjWRMMsp+ZNw9gbP2QRJU+mNT/mFF5tI92kN4Uan/MKLzaR7tIbxczCCCCACCCCACCCCACCCCACCMZkwKCTsGZPMBHL9M8KFUj4pcgcRnZsLM5A2Ne4HVaIbolKyx8J8g9xiYL/IzEc/snkseoNfqip6L00qSprXJIQ2A3ndaPJuvU6rknip6EOpBUykZTfapG7LKKVU6Sm0qEPJJVd6E7M8yG2Z9MUmlI0x3F2dXoaobbixF73sPXEfSFfLqMBluk0SHuwVgVBIKjEwyyN8oV6BoDOQvjIp3QsQcjY58l/orbbeEentEzzTzZVCVlyULTLl+XMxMzcmwyPhZnIgC0ctNbNnb/LeiyS9L8ZMeXxb4EyLS2DMx/NXZbrMUrXKRLIPFpMF7hnd7ta4soW5z3E7umHupFSkuQsmbMCTAobDiF2VxcOrHwgYg61PJlqZha43AsLX3xZNJktbVRWa2eeIKW8HG5G+wTPsAikVWlGa4GQ9f/aGtVrNdjgBINw99hUixUDpBOcKe4jcb75jMEkbjtjoiqVnHOduiOkgnZEyRoy5zhjQ0UP6XReyLWRSFtBoQc0O5OhgAMomU1HhhnJl5RWwQaaitu2QwlSbRmsrbG1RAbGKrAWj1oxw5wDMTOA3wk07Xji2sCfZmCP4w5NGp2mItfopDLdQCSykDywRUpes98KEjNlkMfKZVifrAwRt1sQ8XTk75YHUjTQPbBFgfSup/wAwovNpHu0hvCjU/wCYUXm0j3aQ3ixmEEEEAEEEEAEEEEAER6yvSULu4UdJ9g2mN5jmGuPGPVzFLELkMtoWwyHNe+ZgBjrBryZyTJVKBYgo01mK2vkQoCm5t2RU6PRzISWfFcWwm5C8+Em1weYqIYSKUKBYWAHJXmHP5Y3NLvbCL+zrivJZbFfp9XpSzMa3XI4jiwLYZ4mUc3PD/VWZJqJU2fhunGFUxC+JJdhjI/Sa58kIeEClcUE0qxBDIZgX/wBsmzD2Hqir6P14aRSKktOQOTibJSeYWzYxnkTpJHRhatuTOx6fnKlFPGXKlMNmXLFrW3ix2RQNBz5lLo6peobGzLxcpDbGoIIQdNy+Q6Ir0jXPSFUi8iW0sEZEEXw7iQbndDebo+qqQHnTBLtmqyltZtxLG5yO6MtEmzdZIRWwv4SdFsJdMLANT06BiLfo5AjMi5aKJS6Omzdocrz5ke2LbP1QdzypztuN2LXt5TzwxotD8UAAY2itKowm9TtCSi1WVVzxXPOsZzdXbC46ujp6IsoQ3zjY8sdkWszoq66OZTcE23DbDPR1Q+NFZMiwBN7WB3wyMiMRJOVjY559Fje3qiCRhS4XF12XI+qbRLWTCXV2vExZgAsVc3XmxAW9Sw8R4FWzUVzjLDGUyMWgQYPGlo2PsjVigSjB0J2Rom07WzcjyRumOd0RZxO9rQQKjrI5NNTm98M2ol59Dlh6ngjTrBOvSfs1Tj60tWv1wRcg+ntT/mFF5tI92kN4Uan/ADCi82ke7SG8SZhBBBABBBBABBBBABFA1vlWqybZlFNycuY5b90X+KrrzoZ5qpMlDE8u912YlO4Hnv7YEoqZmDfnEWv0sJY5TLLHSQIrGmdYpiXUypyNzlMI6nYgdkUvSemHxZBAx2G/GOSeYnZFbL0W3TGvKKpwqZl7i7AhSDlaxzYGOe1pdwGK4VXJVGxbnd1mL5onUc4VadczGFyTc2vu6IZay6qqKOYFAxWuOrOJJ2o91V0ZhkJ6uuLEq2hdqNVcbRym3qMDeVSYczEteIoiyvTB7THkoA57hGufMyyjLQrpMqJcqYWCvcEqM72JFtu+Ktl0nZJ4sWuRGlpUM63Qc1GAU4kPgllIbfttcbo1Po6YQMLSzf8AauOgjdGfcj7m3Zn7EBTESsrOLRiou2xRzsxFvYYw0hPmyWImIR+kMwemE1Fp5nntLSWrPiBR5hISWqqbuQNubHfuEXW/BjK4umM9ELMlTFM0j5RgpFrZkgAk7znFmEUDTelpTVEsS2edxIQqEyDzr3ZjkbKMrW23i26PrnYIJoCzGUtYAgXv4Iub3sR5bGJoqT5hyjXijya2XZ7Y1loFj2Y8aXaB22xGaZeBVmUyZEOeyjMtGUx4jzp6jdc3ggVTTDA08y17d0j3WUEeaRe8qcD4wp/wzBFyD6m1P+YUXm0j3aQ3jjOhOGviaanldyYuLlS0xcfa+BFW9uKyvbniZ+Hn9S/eP5USZnWoI5L+Hn9S/eP5UH4ef1L94/lQB1qCOS/h5/Uv3j+VB+Hn9S/eP5UAdagjkv4ef1L94/lQfh5/Uv3j+VAHWo8ZARYxyb8PP6l+8fyoPw8/qX7x/KgDoOldV5M9SrorA7mAI7DHNtIcGcmlq+OC3VjdUOxWHN0b7RI/D1+pfvH8qEmsHDDxzJelsFGQ4++Z3/i4EofvttGGk5eKWR0X7BFK/CaMV+5z/fD7uMn4T/1c8344fdwZayZwZvZamUfozbjri21Y5LdAMcr0JrqJFRNdZJIbavGW38+Dp5od1PCeGVh3MRcH/fX/APziEHyTpi5eS0RtXah0r5BlhSWYpyycIDixPJzBtCl9eBhtxG3+1/0QrbWrlAqjKQRZhMsR0g4cjGbWxrF0z6CSVMBPGFDllZCvPvJN4rFU6hyN4Ym4y6M4rVNwrpLyWkbmN6t3v9dDCbTPCIZkxmEnDls4y/8A0COVwZ3RypeS+mSk9XJyFsIJ9ov0xzuroFxvLa112dKnMRjo3XtsT4pZZQQQvGWtl0qcoX6w61ibMSYsoowGE/KAgjIj6A2XMbYk06Ms8oyjZIoQZFwlwp2hSUcdIcZnyHKM9I6XqJeAy5gmS3ORmAYwwzKO4355c8KH1iuPxeY34/8ATEd9NXlzUKZTBfwvBZSLMMtucbnEdGpaovKRmtcjlW2XGREeu0U3R+t+GWimVeyi54y1znnbDG5td8/xJ/vB8ERRNloZo0WiuNrt/Y/4n+iPF1z/ALL/ABP9MKILCZF9sApQd1+mESa4DfJJ/wDst/0RtbXUW/En+9/0QLEPT1EqSph3mel/7t4Ig6X0+JqOOLteYreHfYrC3g9MeRJFH//Z

140
2017-07-18 23:12



Bir base64 kodlu jpeg'in teknik olarak bir URL olduğu gerçeğinden bahsediyor çünkü veri olarak belirtiliyor: *. Geçerli bir URL olduğunu belirterek doğru olsa da, soruyu sorduğunu sanmıyorum. - Fitblip
Meraklı için jsfiddle.net/SJjJb/828 - jonperl
... veya adres çubuğuna yapıştırın. - Gras Double
Bu bir URL değil bir URI. - mike jones
Bir veri URL'si "data:" protokolünü ve tanımlayıcısını içerdiğinden, "file" (buradaki "Filesystem" tüm olası dosyaların alanı olsa bile) LOCATE için ihtiyacınız olan her şeydir. Bu nedenle, aynı zamanda bir URI olan bir URL'dir. (Ama kesinlikle "bir URL" değil) - MickLH


Eklemeye devam eden bu testi yazdım. 'a' tarayıcı başarısız olana kadar parametreye

C # parçası:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult ParamTest(string x)
{
    ViewBag.TestLength = 0;
    if (!string.IsNullOrEmpty(x))
    {
        System.IO.File.WriteAllLines("c:/result.txt",
                       new[] {Request.UserAgent, x.Length.ToString()});
        ViewBag.TestLength = x.Length + 1;
    }

    return View();
}

Görünüm:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script type="text/javascript">
    $(function() {
        var text = "a";
        for (var i = 0; i < parseInt(@ViewBag.TestLength)-1; i++) {
            text += "a";
        }

        document.location.href = "http://localhost:50766/Home/ParamTest?x=" + text;
    });
</script>

BÖLÜM 1

Chrome'da aldım:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
2046

Daha sonra havaya uçurdu:

HTTP Hatası 404.15 - Bulunamadı İstek filtreleme modülü   sorgu dizesinin çok uzun olduğu bir isteği reddetmek üzere yapılandırıldı.

Internet Explorer 8 ve Firefox'ta aynı

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
2046

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
2046

BÖLÜM 2

Kolay modda gittim ve IISExpress için ek sınırlar eklendi  applicationhost.config ve web.config ayar maxQueryStringLength="32768".

Chrome failed with message 'Bad Request - Request Too Long

HTTP Error 400. The size of the request headers is too long.

7744 karakterden sonra.

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
7744

3. BÖLÜM

Katma

<headerLimits>
    <add header="Content-type" sizeLimit="32768" />
</headerLimits>

hiç yardımcı olmadı. Sonunda yönlendiriciyi başlıktan kaldırmak için kemancı kullanmaya karar verdim.

static function OnBeforeRequest(oSession: Session) {
    if (oSession.url.Contains("localhost:50766")) {
        oSession.RequestHeaders.Remove("Referer");
    }

Hangi güzel yaptı.

Krom: 15613 karaktere ulaştı. (Sanırım IIS için 16K limit)

Ve yine ile başarısız oldu:

<BODY><h2>Bad Request - Request Too Long</h2>
<hr><p>HTTP Error 400. The size of the request headers is too long.</p>


Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
15613

Firefox:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
15708

Internet Explorer 8 iexplore.exe çöküyor ile başarısız oldu.

Enter image description here

2505'ten sonra

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
2505

Android Emulator

Mozilla/5.0 (Linux; Android 5.1; Android SDK built for x86 Build/LKY45) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36
7377

Internet Explorer 11

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
4043

Internet Explorer 10

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
4043

Internet Explorer 9

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
4043

111
2017-07-06 16:14



Yani, aslında, benim 512 karakterleri varsayım büyük ölçüde yanlıştır ^ _ ^ Test için teşekkürler. Artık sorgu param uzunluğunu umursamıyorum .. - Sugato
Bu kabul edilen cevap olmalı ... Birincisi, her bir tarayıcı için soruların sorduğu zor sınırları sağlamıyor. - GrayedFox
Safari'ye de bakmaya değer olabilir. Safari, istemci tarafından oluşturulan indirme işlemlerini desteklemeyen tek tarayıcıdır. Çözümler şunlardır: a) yeni bir pencerede bir BLOB URI (bir bellek içi Blob'a işaret eden kısa, geçici bir URI) açın, b) yeni bir pencerede 64 kodlu bir veri URI'sını açın (çok uzun olabilir, ancak mime yazmayı destekler. Burada detaylar: github.com/eligrey/FileSaver.js/issues/12 - Mat Gessel
@Vaitkevicius bir boşluk (% 20) tek karakter mi yoksa 3 mi sayılır? - Jun
@Jun nereye bağlı ... F12'ye basın ve konsola aşağıdakileri yapıştırın console.log("%20".length +" "+decodeURI("%20").length) bunu açıklamalı - Matas Vaitkevicius


Evrensel maksimum URL uzunluğu yoktur. Maksimum uzunluk, yalnızca müşteri tarayıcısının desteklediği, geniş ölçüde değiştiği şekilde belirlenir. 2,083 limiti sadece Internet Explorer'da (tüm sürümler 7.0'a kadar) mevcuttur. Firefox ve Safari'deki maksimum uzunluk sınırsız görünüyor, ancak yaklaşık 65.000 karaktere ulaşan URL'lerde istikrarsızlık yaşanıyor. Opera maksimum URL uzunluğuna sahip değil gibi görünüyor ve son derece uzun uzunluklarda istikrarsızlık çekmiyor.


93
2017-08-05 10:17



Kararsızlık 65k civarında ise, muhtemelen 65535 (2 ^ 16 - 1) civarındadır. Belki kısa ben kullanarak chars üzerinden ilmek? Sadece bir düşünce. 65k + o_o için hangi URL'yi test ettiklerini merak ediyorum; - Garet Claborn
Bu cevaplar belki de kabul edilmesi gereken, somut cevapları sağladığı için: IE için 2k, Safari / Firefox için 65k, Opera için "daha fazlası". - eis
Merak ediyorum. 65k URL'si bir veri şeması URI'sı veya klasik anlamda gerçekten bir URL mi? - SaAtomic


URI RFC(hangi URL’lerin bir alt küme olduğu), bir maksimum uzunluk tanımlamaz, ancak tavsiye etmek URI'nin hostname kısmının (varsa) uzunluğu 255 karakteri geçmemesi:

URI üreticileri isimleri kullanmalı   DNS sözdizimine uysa bile   DNS kullanımı hemen değil   görünür ve bu adları sınırlamalıdır   en fazla 255 karakter   uzunluğu.

Diğer yayınlarda belirtildiği gibi, bazı tarayıcılarda bir URL'nin uzunluğu üzerinde pratik bir sınırlama vardır.


66
2018-01-06 16:20





İOS'ta, URL şemaları için bir sınır yoktur. 300+ MB uzun URL bile kabul edilir. Böyle uzun bir URL'yi deneyebilirsiniz:

NSString *path = [@"a:" stringByPaddingToLength:314572800 withString:@"a" startingAtIndex:0];
NSString *js = [NSString stringWithFormat:@"window.location.href = \"%@\";", path];
[self.webView stringByEvaluatingJavaScriptFromString:js];

Ve bununla başarılı olursa yakalayın:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"length: %@", @(request.URL.absoluteString.length));
    return YES;
}

53
2018-06-27 06:49



Siz 300MB URL'yi denemek için sadece bir + 1 hak ediyorsunuz - Дамян Станчев
iOS kendi başına bir tarayıcı değildir. İOS için Safari'de miydi? - Randall
@Randall şemaları OS tarafından ele alınır ve daha sonra bunları açabilen uygulamaya gönderilir. Böylece, Safari dahil olmak üzere iOS'deki tüm uygulamalar, uzun URI'ları ele alabilir. - Cœur
Açıklama için teşekkürler. Muhtemelen, bu, keyfi bir uygulamanın (örneğin, Tor ile çalışan bir tarayıcı) kendi uzunluk sınırlamasını getirmesini engellemez, değil mi? - Randall


HTTP 1.1 belirtimi diyor:

HTTP’deki URI’ler   mutlak form veya bazılarına göre
  bilinen baz URI [11], bağlı olarak   kullanımları bağlamı. İki
  formlar gerçek tarafından ayırt edilir   mutlak URI'ler her zaman başlar
  bir şema adı ve ardından   kolon. Hakkında kesin bilgi için
  URL sözdizimi ve semantik, bkz. "Üniforma   Kaynak Tanımlayıcıları (URI): Genel   Sözdizimi ve Anlambilim, "RFC 2396 [42]   (RFC 1738 [4] yerine geçer ve   RFC 1808 [11]). Bu şartname   tanımlarını benimser   "URI-referans", "absoluteURI",   "relativeURI", "bağlantı noktası",
  "ev sahibi", "abs_path", "rel_path" ve   bundan "otorite"
  Şartname.

HTTP protokolü yerleştirilmez   uzunluğunda herhangi bir ön sınır
  bir URI. Sunucular işlemek ZORUNLU   sundukları herhangi bir kaynağın URI'sı,   ve URI'ları kullanabilmeli   Sağladıkları sınırsız uzunluk   Üretebilecek GET tabanlı formlar   bu URI'lar *
 Bir sunucu iade edilmelidir   414 (İstek-URI Çok Uzun) durumu eğer   URI sunucudan daha uzun olabilir   ele alın (bkz. bölüm 10.4.15).

Not: Sunucular URI'ye bağlı olarak dikkatli olmalı   uzunlukları         255 bayt üzerinde, çünkü bazı eski istemci veya proxy         Uygulamalar bu uzunlukları doğru şekilde desteklemeyebilir.

@Brian tarafından belirtildiği gibi, HTTP istemcileri (ör. Tarayıcılar) kendi sınırlarına sahip olabilir ve HTTP sunucularının farklı sınırları olacaktır.


49
2018-01-06 16:26





Microsoft Desteği "Internet Explorer’da maksimum URL uzunluğu 2,083 karakter" yazıyor.

IE, bundan daha uzun URL'lerle ilgili sorunlara sahiptir. Firefox 4k chars ile iyi çalışıyor gibi görünüyor.


43
2018-05-26 16:18





İçinde UI olarak URL Jakob Nielsen şunları önerir:

Web’in sosyal arayüzü, kullanıcılar Web sayfalarını birbirlerine önermek istediğinde e-postaya dayanır ve e-posta, kullanıcıların yeni sitelere (en yaygın olarak kullanılan arama motorları) ulaşmaları için en yaygın ikinci yoldur: site, bir satır beslemesine sarılmayacak şekilde 78 karakterden daha az.

Bu maksimum değil, ancak URL’nizin paylaşılmasını istiyorsanız, bunu pratik bir maksimum olarak kabul ediyorum.


34
2018-01-08 00:38



"78" in nereden geldiğini merak ediyorum? Belki bu orijinal 1999 makalesi, insanların 80x24 terminal pencerelerinde e-postalarını okuduğu varsayımı altında yazılmıştır. Yine de, iyi tavsiye! - Jon Schneider
İyi. IBM delme kartları da 80 sütun idi. Bir satır başı ve bir satır besleme ile alınan iki karakterle 78 alırsınız. - Paul Morgan
Haha. :-) Aslında benim yorumumda 1981 dönemi 80x25 CGA monitörleri referans almayı düşünüyordum, ama daha da geri geldi! ... Ben yumruk kart çağında değildi, ama 80 bayt mı, ya da sadece 80 bit mi? - Jon Schneider
Tam olarak bir bayt (8 bit). Her sütunda bir karakter kodladı. - Paul Morgan
@JonSchneider - 78 oldukça spesifiktir ve metinlerin okunabilirliği ile ilgili olabilir (Nielsen'ın arka planına göre kullanılabilirlik bakış açısından). 50-60 ve maksimum 75. - Jay Rainey