O comprimento de uma solicitação HTTP GET não é imposto pelo RFC2616 , como a Microsoft reporta para sua página de suporte de comprimento máximo do IE .
Portanto, o comprimento máximo de GET é um problema relacionado ao cliente (navegador) . Se o seu aplicativo for usado por pessoas, você pode forçar a usar um determinado navegador, basta encontrar qual é a duração desse suporte ao navegador.
Em todos os casos, sugiro uma olhada na página da Wikypedia sobre esses problemas relacionados ao navegador na string Query (a parte da solicitação que traz parâmetros para aplicativos do lado do servidor, a que segue o "?" Eventualmente presente em uma solicitação.
É claro que talvez o tomcat também coloque um limite no lado do servidor. A RFC diz:
Servidores devem ser capazes de lidar com o URI de qualquer recurso que eles servem, e devem ser capazes de lidar com URIs de comprimento ilimitado, se fornecerem formulários baseados em GET que possam gerar tais URIs. Um servidor deve retornar o status 414 (Request-URI Too Long) se um URI for maior do que o servidor pode suportar (consulte a seção 10.4.15).
para que você possa testar facilmente se o Tomcat tem um limite e descobrir qual é esse limite usando simplesmente solicitações diferentes, começando com uma muito longa, fornecendo o erro e diminuindo pela metade. Em seguida, use o método de bissecção para encontrar rapidamente o valor exato.
server.xml
configuração, sem perceber, e de repente atingimos. Problema doloroso: nada foi registrado sobre isso, as conexões foram silenciosamente eliminadas (não me lembro mais do status HTTP). Eu tropecei na documentação em tomcat.apache.org/tomcat-5.5-doc/config/http.html antes, no entanto, não associei omaxHttpHeaderSize
nome nem a descrição a eles relacionados aos parâmetros de consulta de solicitação GET.