|
1. Získajte limit dĺžky metódy Neexistuje žiadne obmedzenie veľkosti a dĺžky dát odosielaných metódou Http Get a špecifikácia protokolu HTTP neobmedzuje dĺžku URL. Toto obmedzenie je obmedzenie stanovené konkrétnym prehliadačom a serverom. Napríklad limit dĺžky URL pre IE je 2083 bajtov (2K+35). Tu je niekoľko vysvetlení maximálneho výpočtového výkonu rôznych prehliadačov a serverov. Microsoft Internet Explorer (prehliadač) IE má maximálny limit 2083 znakov pre URL adresy a ak tento počet prekročíte, tlačidlo odoslať neodpovie. Firefox (prehliadač) Pre Firefox je URL obmedzená na 65 536 znakov. Safari (prehliadač) Maximálna dĺžka URL je obmedzená na 80 000 znakov. Opera (prehliadač) Maximálna dĺžka URL je obmedzená na 190 000 znakov. Google (Chrome) Maximálna dĺžka URL je obmedzená na 8182 znakov. Apache (server) Maximálna akceptovaná dĺžka URL je 8 192 znakov. Microsoft Internet Information Server(IIS) Maximálna dĺžka URL, ktorú možno akceptovať, je 16 384 znakov. Z vyššie uvedených údajov je vidieť, že aby všetci používatelia mohli prehliadať normálne, je najlepšie neprekročiť maximálny limit dĺžky IE (2083 znakov), samozrejme, ak URL nie je priamo poskytnutá používateľovi, ale volaniu programu, dĺžka je ovplyvnená iba webovým serverom. Poznámka: Pri čínskom prenose bude konečný kódovací formulár prenášaný pre urlencode, ak je kódovanie prehliadača UTF8, konečná dĺžka kódovaného znaku čínskeho znaku je 9 znakov. Preto, ak použijete metódu GET, maximálna dĺžka je rovná maximálnej dĺžke URL mínus počet znakov v skutočnej ceste. 2. Limit dĺžky metódy POSTTeoreticky neexistuje žiadne obmedzenie veľkosti pre POST. Špecifikácia HTTP protokolu tiež nemá limit veľkosti, ale obmedzujúcim efektom je výpočtový výkon handlera servera. Napríklad odstrániť limit veľkosti POST pod Tomcat (Tomcat predvolene nastaví 2M); Otvorte adresár conf v tomcat adresári, otvorte server.xml súbor a upravte ho <Konektor 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> Pridaj červené písmo part maxPostSize="0" (nastavenie 0 je na odstránenie limitu veľkosti POST)
|