domingo, 17 de julio de 2016

Longitud maxima de una URL Y rutas de windows XP, 7

¿Longitud máxima de solicitud HTTP GET?

¿Cuál es la longitud máxima de una solicitud HTTP GET? ¿Es que un error de respuesta definido que el servidor puede/debe volver que si recibe una solicitud GET excede esta longitud?
---
Actualización: como se indica en las etiquetas, esto es en el contexto de una API de servicio web, aunque es interesante ver los límites del navegador también.
El límite es dependiente en el servidor y el cliente (y en su caso, también el proxy el servidor o el cliente está utilizando).
La mayoría de servidores Web tiene un límite de 8192 bytes (8KB), que es generalmente configurable en algún lugar de la configuración del servidor. En cuanto a lo del lado del cliente, la especificación de HTTP 1.1 incluso advierte acerca de esto, aquí es un extracto de chapter 3.2.1:
Nota: Servidores deben ser cuidadoso acerca de dependiendo de la longitud de la URI encima de 255 bytes, porque algunos clientes antiguos o implementaciones proxy podrían no admitir correctamente estas longitudes.
El límite es en MSIE y Safari cerca de 2KB, en la ópera cerca de 4KB y en Firefox unos 8KB. Por lo tanto podemos asumir que 8KB es la máxima longitud posible y que 2KB es una longitud más rentable confiar en el lado del servidor y que 255 bytes es la longitud más segura asumir que toda la URL vendrá.
Si se supera el límite en el navegador o el servidor, la mayoría solo truncará los personajes fuera del límite sin previo aviso. algunos servidores sin embargo pueden enviar un HTTP 414 error. Si usted necesita enviar datos grandes, entonces mejor usar POST en vez de GET. Su límite es muchomayor, pero más dependientes en el servidor utilizan que el cliente. Generalmente hasta alrededor de 2 GB es permitido por el servidor Web promedio. Esto también es configurable en algún lugar de la configuración del servidor. El media server mostrará una error/excepción de servidor específica cuando se supera el límite, generalmente como error HTTP 500.
************
Otro aporte
http://jms32.blogspot.pe/2015/03/las-longitudes-maximas-de-url.html
**************
Windows 

Existe la creencia de que Windows no soporta paths de más de 256 caracteres. Esta limitación está heredada de versiones anteriores en las que los sistemas de ficheros no permitían direccionar rutas más largas. Recordemos también que MS-DOS imponía la limitación del nombre de fichero a 8 caracteres más 3 de extensión. Por cierto, de ahí viene también la creencia de que Windows no soporta extensiones de más de 3 caracteres.
Por convenio los path en Windows no pueden superar los 260 caracteres (sí, 260, no 256). Esto puede encontrarse en la documentación de las APIs. Sin embargo, esta limitación está impuesta por la API de Win32 y no por el sistema de ficheros NTFS, que sí soporta paths de mayor longitud.
La mayoría de las aplicaciones Windows respetan el convenio de nomenclatura, lo que significa que un PATH no puede exceder los 260 caracteres y cada componente del Path tampoco puede superar los 260 caracteres. Ahora bien, hemos dicho que la limitación es un convenio que impone la API Win32. Esto no significa que no se puedan crear paths de mayor longitud, simplemente que está desaconsejado.
Algunas APIs Win32 incorporan un sistema para eliminar esta restricción. Es el caso de CreateDirectory. Con el siguiente ejemplo vamos a crear la ruta C:\<200Caracteres>\<200 Caracteres>\<200 Caracteres>.<3 caracteres>. Eso es un Path de 608 caracteres (excluyendo el marcador NULL). He parado en 608 porque me estaba haciendo un lio al copiar y pegar, pero podríamos llegar a 32767 caracteres sin despeinarnos :)
...
http://www.carballude.es/blog/2013/06/14/cosas-que-no-puedes-hacer-en-windows-tener-paths-de-mas-de-256-caracteres/
http://migueltechnologies.blogspot.pe/2008/11/longitud-maxima-del-path-en-windows.html

No hay comentarios:

Publicar un comentario