|
1. Ustalić limit długości metody Nie ma ograniczeń co do rozmiaru i długości danych przesyłanych metodą Http Get, a specyfikacja protokołu HTTP nie ogranicza długości adresu URL. To ograniczenie jest narzucone przez konkretną przeglądarkę i serwer. Na przykład limit długości URL w IE wynosi 2083 bajty (2K+35). Oto kilka wyjaśnień maksymalnej mocy obliczeniowej różnych przeglądarek i serwerów. Microsoft Internet Explorer (przeglądarka) IE ma maksymalny limit 2083 znaków na adresy URL, a jeśli przekroczysz tę liczbę, przycisk wyślij nie odpowie. Firefox (przeglądarka) W Firefoxie adres URL jest ograniczony do 65 536 znaków. Safari (przeglądarka) Maksymalna długość adresu URL jest ograniczona do 80 000 znaków. Opera (przeglądarka) Maksymalna długość adresu URL jest ograniczona do 190 000 znaków. Google (Chrome) Maksymalna długość adresu URL jest ograniczona do 8182 znaków. Apache (serwer) Maksymalna długość URL, jaką można zaakceptować, wynosi 8 192 znaki. Microsoft Internet Information Server(IIS) Maksymalna długość URL, jaką można zaakceptować, wynosi 16 384 znaki. Z powyższych danych wynika, że aby wszyscy użytkownicy mogli przeglądać normalnie, najlepiej nie przekraczać maksymalnego limitu długości IE (2083 znaki); oczywiście, jeśli URL nie jest podawany bezpośrednio użytkownikowi, lecz wywołaniu programu, długość jest wpływana wyłącznie przez serwer WWW. Uwaga: W przypadku transmisji chińskiej ostateczna forma kodowania zostanie przesłana dla urlencode, jeśli kodowanie przeglądarki to UTF8, ostateczna długość znaku chińskiego wynosi 9 znaków. Dlatego jeśli używasz metody GET, maksymalna długość jest równa maksymalnej długości adresu URL minus liczba znaków w rzeczywistej ścieżce. 2. Limit długości metody POSTTeoretycznie nie ma limitu rozmiaru dla POST. Specyfikacja protokołu HTTP również nie ma limitu rozmiaru, ale efektem ograniczającym jest moc obliczeniowa obsługi serwera. Na przykład usunięcie limitu rozmiaru POST w Tomcat (Tomcat domyślnie wynosi 2M); Otwórz katalog konferencji w katalogu tomcat, otwórz plik server.xml i zmodyfikuj go <Łącznik 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> Dodaj czerwoną czcionkę część maxPostSize="0" (ustawienie 0 służy do usunięcia limitu rozmiaru POST)
|