Haciendo algunas pruebas con un proyecto reciente, me encontré con esta pregunta: ¿cúal es la longitud máxima de una url en cada navegador?
Básicamente me preocupaba por IE6, ya que recordaba que tenía un límite pequeño.
Después de investigar un poco, llegué a un número mágico de caracteres del que es preferible no pasar:
2.083 caracteres en total para IE6.
Intentar resolver una dirección más larga mostrará un claro mensaje de error.
Para el resto de navegadores, la cifra es mucho más alta, no siendo necesario siquiera preocuparse por ello. De hecho, el límite de IE6 es lo suficientemente alto como para despreocuparnos de cuántos parámetros pasemos a nuestra página.
Un detalle interesante es que este límite, además de en el navegador, también está presente en el servidor. Así por ejemplo, tenemos las siguientes limitaciones:
- Apache soporta por defecto alrededor de 4.000 caracteres, siendo esta opción configurable.
- ISS soporta 16.384 caracteres por defecto, curiosamente una longitud mayor que su propio navegador. Este parámetro es también configurable.
En caso de sobrepasar estos límites, el servidor devuelve un error y no resuelve la dirección, por lo que tampoco comprometemos la seguridad del sitio.
En definitiva, atendiendo siempre a que debemos jugar con la variable más pequeña para curarnos en salud, nos tenemos que quedar con los 2.083 caracteres del IE6.
Imagen: chrisdlugosz
En definitivo creo que enviar tantos parametros via GET es mala idea U.u…. para ello esta POST donde practicamente no tenemos un limite
yo prefiero siempre usar POST para el envio de parametro.. exeptuando las variables que me dicen a donde hay que ir y recursos que quiero que el explorador recuerde, creo que es mejor tener una URL pequeña y descriptiva y estar lejos de llegar a ese limite