RFC2616 не застосовує тривалість запиту HTTP GET , оскільки Microsoft повідомляє про свою сторінку підтримки максимальної довжини IE .
Отже, максимальна довжина GET - це проблема, пов'язана з клієнтом (браузером) . Якщо вашою програмою користуються люди, яких ви можете змусити користуватися певним браузером, ви можете просто знайти довжину підтримки цього браузера.
У кожному випадку я пропоную переглянути сторінку Wikypedia щодо тих проблем, пов’язаних із браузером у рядку Запиту (частина запиту, що приводить параметри для додатків на сервері, та, що в кінцевому підсумку є "?", Зрештою присутня у запиті.
Звичайно, можливо, tomcat поставить обмеження і на стороні сервера. RFC каже:
Сервери ОБОВ'ЯЗКОВО матимуть змогу обробляти URI будь-якого ресурсу, який вони обслуговують, і ОБОВ'ЯЗКОВО мати можливість обробляти URI без обмеженої довжини, якщо вони надають форми на основі GET, які могли б генерувати такі URI. Сервер ДОЛЖЕН би повернути статус 414 (Request-URI Too Long), якщо URI довший, ніж може обробляти сервер (див. Розділ 10.4.15).
тож ви можете легко перевірити, чи є Tomcat обмеження, і дізнатися, що це за межа, просто використовуючи різні запити, починаючи з дуже довгого, який дає помилку, і знижується на половину. Потім скористайтеся методом бісекції, щоб швидко знайти точне значення.
server.xml
конфігурації, не помічаючи, і раптом вдарили по ньому. Хвороблива ґутча: нічого про це ніде не було записано, з'єднання мовчки перестали (я вже не пам'ятаю статусу HTTP). Раніше я наткнувся на документацію на tomcat.apache.org/tomcat-5.5-doc/config/http.html , однак я не пов'язував цеmaxHttpHeaderSize
ім'я, ані його опис, щоб бути пов'язаним із самими параметрами запиту GET запиту.