Die Länge einer HTTP-GET-Anforderung wird von RFC2616 nicht erzwungen , wie Microsoft für die Unterstützungsseite für die maximale Länge des IE meldet .
So ist die maximale Länge GET ein Client (Browser) verwandtes Problem . Wenn Ihre App von Personen verwendet wird, die Sie zur Verwendung eines bestimmten Browsers zwingen können, können Sie einfach die Länge ermitteln, die dieser Browser unterstützt.
In jedem Fall schlage ich vor, auf der Wikypedia- Seite nachzuschlagen, welche Browserprobleme in der Abfragezeichenfolge auftreten (der Teil der Anforderung, der Parameter für serverseitige Apps enthält, der nach dem "?"
Natürlich wird Tomcat auf der Serverseite vielleicht auch ein Limit setzen. RFC sagt:
Server MÜSSEN in der Lage sein, den URI einer Ressource zu verarbeiten, die sie bedienen, und sollten in der Lage sein, URIs von unbegrenzter Länge zu verarbeiten, wenn sie GET-basierte Formulare bereitstellen, die solche URIs generieren könnten. Ein Server SOLLTE den Status 414 (Request-URI Too Long) zurückgeben, wenn ein URI länger ist als der Server verarbeiten kann (siehe Abschnitt 10.4.15).
Sie können also leicht testen, ob Tomcat ein Limit hat, und herausfinden, was dieses Limit ist, indem Sie einfach verschiedene Anforderungen verwenden, beginnend mit einer sehr langen, die den Fehler ausgibt und um die Hälfte sinkt. Verwenden Sie dann die Bisektionsmethode, um schnell den genauen Wert zu finden.
server.xml
Konfiguration das Standardlimit von 8192 durchgearbeitet, ohne es zu bemerken, und es plötzlich erreicht. Schmerzhafte Nachricht: Es wurde nichts darüber protokolliert, die Verbindungen wurden stillschweigend getrennt (ich kann mich nicht mehr an den HTTP-Status erinnern). Ich bin zuvor über die Dokumentation unter tomcat.apache.org/tomcat-5.5-doc/config/http.html gestolpert , habe jedoch weder denmaxHttpHeaderSize
Namen noch die Beschreibung mit den Abfrageparametern der GET-Anforderung verknüpft.