|
1. Hanki metodin pituusrajoitus Http Get -menetelmällä ei ole rajoituksia datan kokoa ja pituutta, eikä HTTP-protokollan määrittely rajoita URL-osoitteen pituutta. Tämä rajoitus on rajoitus, jonka asettaa tietty selain ja palvelin. Esimerkiksi IE:n URL-pituusraja on 2083 tavua (2K+35). Tässä on joitakin selityksiä eri selainten ja palvelimien maksimaalisesta laskentatehosta. Microsoft Internet Explorer (selain) IE:ssä URL-osoitteille on enimmäisrajoitus 2083 merkkiä, ja jos ylität tämän määrän, lähetä-painike ei vastaa. Firefox (selain) Firefoxissa URL-osoitteen pituus on rajoitettu 65 536 merkkiin. Safari (selain) URL-osoitteen enimmäispituus on rajoitettu 80 000 merkkiin. Opera (selain) URL-osoitteen enimmäispituus on rajoitettu 190 000 merkkiin. Google (chrome) URL-osoitteen enimmäispituus on rajoitettu 8182 merkkiin. Apache (palvelin) Suurin hyväksyttävä URL-pituus on 8 192 merkkiä. Microsoft Internet Information Server(IIS) Suurin hyväksyttävä URL-pituus on 16 384 merkkiä. Yllä olevista tiedoista voidaan nähdä, että jotta kaikki käyttäjät voivat selata normaalisti, on parasta olla ylittämättä IE:n (2083 merkkiä) enimmäispituusrajaa; tietenkin, jos URL-osoite ei ole suoraan käyttäjälle vaan ohjelmakutsulle, pituuteen vaikuttaa vain verkkopalvelin. Huomautus: Kiinan lähetyksessä lopullinen koodauslomake lähetetään urlencodelle, jos selaimen koodaus on UTF8, kiinalaisen merkin lopullinen koodattu merkkipituus on 9 merkkiä. Siksi, jos käytät GET-menetelmää, maksimipituus on yhtä suuri kuin URL:n maksimipituus miinus varsinaisen polun merkkien määrä. 2. POST-menetelmän pituusrajoitusTeoreettisesti POST:lle ei ole kokorajoitusta. HTTP-protokollan määrittelyssä ei myöskään ole kokorajoitusta, mutta palvelimen käsittelijän laskentateho on rajoittava tekijä. Esimerkiksi poista POST-kokorajoitus Tomcatista (Tomcat on oletuksena 2M); Avaa conf-kansio tomcat-hakemistossa, avaa server.xml-tiedosto ja muokkaa sitä <Liitin debug="0" acceptCount="100" connectionTimeout="20000" disdisabledUploadTimeout="true" port="8080" redirectPort="8443" enableLookups="false" minSpareThreads="25" maxSpareThreads="75" maxThreads="150" maxPostSize="0" URIEncoding="GBK" > </Connector> Lisää punainen fonttiosa maxPostSize="0" (asetus 0 poistaa POSTin kokorajoitus)
|