viernes, 20 de abril de 2012

La longitud máxima de enlaces (URIs, URLs) en la práctica es - 2,083

Antes de nada, es:
2083
Tenía una duda, qué longitud de campo necesito en mi tabla de una base de datos mysql para poder almacenar cualquier URL(enlace).

Aunque en la especificación del protocolo HTTP no se especifica ninguna longitud máxima, los distintos navegadores y software de servidores imponen unos límites prácticos. El menor de los cuales, el del navegador Explorer, es 2083, sin que haya más de 2,048 caracteres formando el path. Curiosamente el límite manejado por el servidor Microsoft Internet Information Server es 16,384.

En éste caso, lo de Explorer no me parece una cagada, una longitud excesiva de enlaces normalmente es resultado de un mal diseño. La regla general es que en el enlace deberían ir los parámetros que son imprescindibles para regenerar el contenido de la página. La solución estándar para realizar una petición equivalente al envío de un formulario con muchos campos es usar el método POST en vez de GET y meter los parámetros en el cuerpo del mensaje.

Así que si estamos pensando en crear un campo en nuestra base de datos de MySql para guardar URLs, definiríamos uno como
VARCHAR(2083)
En realidad para el caso de mysql hay dos casos:
  1. si < MySQL 5.0.3 usar tipo de campo TEXT, porque VARCHAR estaba limitado a 255.
  2. si >= MySQL 5.0.3 usar tipo de campo VARCHAR(2083)
Sacado de aquí y aquí.

No hay comentarios :

Publicar un comentario

Ay payo, coméntame algo, porfa...