O limite depende do servidor e do cliente usado (e, se aplicável, também do proxy que o servidor ou o cliente está usando).
A maioria dos servidores da Web tem um limite de 8192 bytes (8 KB), que geralmente é configurável em algum lugar na configuração do servidor. Quanto ao assunto do lado do cliente, a especificação HTTP 1.1 até alerta sobre isso. Aqui está um extrato do capítulo 3.2.1 :
Nota: Os servidores devem ser cautelosos ao depender dos comprimentos de URI acima de 255 bytes, porque algumas implementações de cliente ou proxy mais antigas podem não suportar adequadamente esses comprimentos.
O limite no Internet Explorer e Safari é de cerca de 2 KB, no Opera, de 4 KB e no Firefox, de 8 KB. Assim, podemos assumir que 8 KB é o tamanho máximo possível e que 2 KB é um tamanho mais acessível em que confiar no lado do servidor e que 255 bytes é o tamanho mais seguro para supor que todo o URL entrará.
Se o limite for excedido no navegador ou no servidor, a maioria apenas truncará os caracteres fora do limite sem nenhum aviso. Alguns servidores, no entanto, podem enviar um erro HTTP 414 . Se você precisar enviar dados grandes, use melhor o POST em vez de GET. Seu limite é muito maior, mas é mais dependente do servidor usado que o cliente. Geralmente, até cerca de 2 GB são permitidos pelo servidor Web médio. Isso também é configurável em algum lugar nas configurações do servidor. O servidor médio exibirá um erro / exceção específico do servidor quando o limite de POST for excedido, geralmente como um erro HTTP 500.