|
1. Szerezd meg a módszerhossz határt Nincs korlátozás a Http Get metódus által beküldött adatok méretére és hosszára, és a HTTP protokoll specifikációja nem korlátozza az URL hosszát. Ez a korlát egy adott böngésző és szerver által bevezetett korlátozás. Például az IE URL-hossz korlátja 2083 bájt (2K+35). Íme néhány magyarázat a különböző böngészők és szerverek maximális feldolgozási kapacitására. Microsoft Internet Explorer (böngésző) Az IE-ben legfeljebb 2083 karakter a URL-ek határa, és ha ezt a számot meghaladod, a küldés gomb nem fog válaszolni. Firefox (böngésző) Firefox esetén az URL 65 536 karakterre korlátozott. Safari (böngésző) Az URL maximális hossza 80 000 karakterre korlátozott. Opera (böngésző) Egy URL maximális hossza 190 000 karakterre korlátozott. Google (chrome) Az URL maximális hossza 8182 karakterre korlátozott. Apache (szerver) A maximális elfogadható URL-hossz 8 192 karakter. Microsoft Internet Information Server(IIS) A maximális elfogadható URL-hossz 16 384 karakter. A fenti adatok alapján látható, hogy ahhoz, hogy minden felhasználó normálisan böngészhessen, a legjobb, ha nem lépjük túl az IE maximális hosszkorlátját (2083 karakter), természetesen, ha az URL nem közvetlenül a felhasználónak, hanem a programhívásnak van megadva, a hosszt csak a webszerver befolyásolja. Megjegyzés: Kínai adásnál a végső kódolási forma továbbításra kerül az urlencode-ra, ha a böngésző kódolása UTF8, akkor a kínai karakter végleges kódolt karakterhossza 9 karakter. Ezért, ha a GET módszert használjuk, a maximális hossz egyenlő az URL maximális hosszával, mínusz a tényleges útvonal karaktereinek számával. 2. POST módszer hosszkorlátjaElméletileg nincs méretkorlát a POST-ra. Az HTTP protokoll specifikációjának nincs méretkorlátja sem, de a szerver kezelőjének feldolgozási kapacitása a korlátozó hatás. Például töröld a POST méretkorlátot a Tomcat alatt (a Tomcat alapértelmezetten 2M-re van); Nyisd meg a conf könyvtárat a tomcat könyvtárban, nyisd meg a server.xml fájlt, és módosítsd <Csatlakozó debug="0" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" enableLookups="false" minSpareThreads="25" maxSpareThreads="75" maxThreads="150" maxPostSize="0" URIEncoding="GBK" > </Connector> Hozzáadjuk a vörös betűtípus maxPostSize="0" (0 beállítás a POST méretkorlátjának eltávolítására szolgál)
|