2011-09-12 10 views
16

Compañeros codificadores, ya hice esta pregunta pero no obtuve una respuesta definitiva. La pregunta es: ¿de cuántos datos puedo regresar de manera segura y una llamada posterior ajax antes de encontrar alguna limitación en alguna parte?Tamaño máximo de datos devueltos ajax

Los escenarios son básicamente los siguientes: front-end realiza una llamada ajax a un controlador/modelo php. el controlador devuelve un grupo o filas de la base de datos o devuelve un html que representa algún informe que se almacenará en una cadena var js para mostrarse más tarde.

Aquí veo dos limitaciones: el tamaño de los datos devueltos a través de la llamada ajax y el tamaño máximo que puede contener js var.

¿Alguien sabe cuáles son los límites?

gracias

Respuesta

12

Ver esta respuesta: Javascript maximum size for types?

En resumen, a menos que se especifique lo contrario el navegador, tamaños variables no están sujetos a una restricción. En cuanto a Ajax: no hay límite, a menos que esté definido en el lado del servidor (como this one).

+0

Gracias Rob. ¿Alguna idea de cómo establecer el límite en entornos distintos de .NET? – djeetee

+0

No conozco ninguna otra limitación de respuesta definida por el servidor. Solo debe ejecutar una prueba en su servidor (entorno) para confirmar mi afirmación. Un servidor puede configurarse para rechazar una solicitud demasiado grande, usando '.htaccess' por ejemplo:' LimitRequestBody' y ['LimitXMLRequestBody'] (http://httpd.apache.org/docs/2.2/mod/core.html#limitxmlrequestbody) –

0

No creo que ninguno de los factores que enumeró sea un problema. Lo que vería son:

  • La cantidad de tiempo que el usuario está dispuesto a esperar la respuesta. Además, su lenguaje de programación del lado del servidor o servidor web puede imponer un límite en la longitud de cualquier solicitud.
  • La cantidad de RAM que tiene el cliente. Incluso si no hay un límite de tamaño variable, con el tiempo la computadora se quedará sin espacio.

En estas situaciones, que son casi siempre mejor entrega de trozos pequeños de los datos a la vez y que permite al usuario cargar los datos que necesitan (ya sea por granulación [mostrando resúmenes y dejar que ellos profundizan], o paginación/búsqueda). Nadie quiere esperar 10 minutos para que el sitio se cargue, y HTTP realmente no maneja muy bien las solicitudes grandes.

Cuestiones relacionadas