Longueur d'une requête HTTP GET n'est pas appliqué par la RFC2616 , comme l'indique Microsoft dans son rapport sur les Page d'aide sur la longueur maximale de l'IE .
Ainsi, la longueur maximale de GET est un problème lié au client (navigateur) . Si votre application est utilisée par des personnes que vous pouvez forcer à utiliser un navigateur donné, vous pouvez simplement déterminer la longueur de ce navigateur.
Dans tous les cas, je suggère de consulter le Wikypedia sur les problèmes liés aux navigateurs concernant la chaîne de requête (la partie de la requête apportant les paramètres pour les applications côté serveur, celle qui suit le " ?" éventuellement présent dans une requête.
Bien sûr, il est possible que Tomcat impose également une limite, du côté du serveur. Le RFC dit :
Les serveurs DOIVENT être capables de gérer de toute ressource qu'ils servent et DEVRAIENT être en mesure de traiter des URI d'une longueur s'ils fournissent des formulaires basés sur GET qui peuvent générer de tels URI. A devrait renvoyer le statut 414 (Request-URI Too Long) si un URI est plus long est plus long que ce que le serveur peut gérer (voir section 10.4.15).
Vous pouvez donc facilement tester si Tomcat a une limite et trouver cette limite en utilisant simplement différentes requêtes, en commençant par une requête très longue qui donne l'erreur et en diminuant de moitié. Utilisez ensuite la méthode de bissection pour trouver rapidement la valeur exacte.