¿Existe un límite en la duración de una solicitud GET?¿Hay un límite en la duración de una solicitud GET?
Respuesta
No en el RFC, no, pero existen límites prácticos.
El protocolo HTTP no pone ningún límite a priori en la longitud de URI. Los servidores DEBEN ser capaces de manejar el URI de cualquier recurso que sirva, y DEBERÍAN ser capaces de manejar URI de longitud ilimitada si proporcionan formularios basados en GET que podrían generar tales URI. Un servidor DEBE devolver el estado 414 (Request-URI Too Long) si un URI es más largo que el servidor puede manejar (ver sección 10.4.15).
Nota: Los servidores deben tener cuidado en función de las longitudes URI superiores a 255 bytes, debido a que algunos de los clientes de proxy o mayores implementaciones pueden no soportar adecuadamente estas longitudes.
HTTPbis agrega un poco a esto: "Varias limitaciones ad-hoc en la longitud del objetivo de solicitud se encuentran en la práctica. Se RECOMIENDA que todos los remitentes y destinatarios HTTP admitan longitudes de objetivo de solicitud de 8000 o más octetos". http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-17#section-3.1.1.2 –
This article lo resume bastante bien
Resumen: Es dependiente de la implementación, ya que no hay límite especificado en el RFC. Sería seguro usar hasta 2000 caracteres (límite de IE). Si estás cerca de esta longitud, debes asegurarte de que realmente necesitas URI durante tanto tiempo, tal vez un diseño alternativo podría evitarlo.
Los URI deben ser legibles, incluso cuando se utilizan para enviar datos.
Buen registro, pero la legibilidad URI no tiene nada que ver con GET vs POST. El objetivo es definir una API RESTful para la web que diferencie entre las diferencias funcionales de los tipos de solicitud. Las solicitudes HTTP GET tienden a ser legibles por el usuario para hipervínculos, pero ese no es su propósito, solo un uso. http: //www.w3.org/Protocols/rfc2616/rfc2616-sec9.html # sec9.3 – DougW
El propósito de los URI no es definir una API RESTful para la web. En absoluto. http://www.w3.org/Provider/Style/URI.html –
Correcto. El propósito de GET & POST sin embargo, es. La pregunta es preguntar acerca de las solicitudes HTTP GET. Estás asumiendo que quiere decir hipervínculos encontrados en un sitio web, destinados a la legibilidad humana. Ese es un uso particular de GET HTTP, pero lejos del único. – DougW
La especificación no limita la longitud de una solicitud HTTP Get, pero los diferentes navegadores implementan sus propias limitaciones. Por ejemplo, Internet Explorer tiene una limitación implementada en 2083 caracteres.
Gracias por su valor exacto => +1. Sin embargo, ¿cuál es la versión específica de IE? Mi IE8 no acepta más de 2048 caracteres en la barra de direcciones (cuadro de entrada de URL). Pero mi código JavaScript puede enviar XMLHttpRequest GET usando 3586 caracteres (no realicé más pruebas). Por lo tanto, ¿dónde has encontrado 2083? Aclamaciones. – olibre
He hecho algunas pruebas más con IE8, IE9, FF14, Opera11, Chrome20 y Tomcat 6.0.32 (instalación nueva), Jersey 1.13 en el lado del servidor. Usé la función jQuery $ .getJson y JSONP. Resultados: todos los navegadores permitieron hasta alrededor de 5400 caracteres. FF e IE9 hicieron hasta alrededor de 6200 caracteres. Todo lo anterior arrojó "400 solicitud incorrecta". No investigué más sobre qué era responsable de los 400. Estaba bien con el máximo que encontré, porque necesitaba alrededor de 2000 caracteres en mi caso. – OneWorld
Este artículo de MS KB indica que el límite de URL de IE8 (y anterior) para las URL GET y POST es 2083 caracteres: http://support.microsoft.com/kb/208427 –
W3C inequívocamente negó este como un mito aquí
Se trata de un mito de un límite específico de 256 caracteres, y hay un límite demostrable en IE. –
El enlace es reemplazado por http://www.w3.org/2001/tag/doc/whenToUseGet-20030922#ephemeral (que dice lo mismo) –
@ JonasKölker le € 33 # SDay s – OneWorld
setFixedLengthStreamingMode (int) con los parámetros ContentLength podría establecer la longitud fija de un cuerpo de la solicitud HTTP.
Parece ser el único respuesta que en realidad es relevante.Los demás tratan sobre la longitud de las URL, lo que no aparece en la pregunta. – EJP
a lo solicitado por usuario Erickson, fijo mi comentario Como respuesta:
he hecho algunas pruebas más con IE8, IE9, FF14, Opera11, Chrome20 y Tomcat 6.0.32 (instalación nueva), en Jersey 1.13 el lado del servidor. Usé la función jQuery $ .getJson y JSONP. Resultados: todos los navegadores permitieron hasta alrededor de 5400 caracteres. FF e IE9 hicieron hasta alrededor de 6200 caracteres. Todo lo anterior arrojó "400 solicitud incorrecta". No investigué más sobre qué era responsable de los 400. Estaba bien con el máximo que encontré, porque necesitaba alrededor de 2000 caracteres en mi caso.
- 1. Simular una solicitud GET XHR
- 2. Establecer variable global para la duración de una solicitud
- 3. longitud máxima de la solicitud HTTP GET?
- 4. ¿Cómo enviar una solicitud GET en AS3?
- 5. Uploadify solicitud GET extraña
- 6. Bloomberg límite de solicitud API
- 7. Cancelar una solicitud HTTP GET de la extensión de Firefox
- 8. ¿Cómo enviar una solicitud GET desde PHP?
- 9. HTTP: la solicitud POST recibe un 302, ¿debería la solicitud de redireccionamiento ser un GET?
- 10. Pasar encabezados de solicitud en una llamada jQuery AJAX GET
- 11. ¿Cómo realizar una solicitud get con RestSharp?
- 12. ¿cómo hago una solicitud $ .get usando coffeescript?
- 13. ¿Longitud máxima de la cadena de consulta en una solicitud AJAX GET?
- 14. Añadir un parámetro GET a una solicitud POST con RestSharp
- 15. ¿Hay un límite para System.IO.FileShare?
- 16. Objetivo simple-c Solicitud GET
- 17. Límite de solicitud de Salesforce API 10
- 18. GWT: captura de parámetros de URL en la solicitud GET
- 19. ¿Puede una solicitud GET de Jersey devolver una entidad polimórfica?
- 20. ¿Hay un límite en PHP file_get_contents?
- 21. ¿Cuáles son las ventajas de usar una solicitud GET sobre una solicitud POST?
- 22. Como llegar solicitud de URL en una solicitud .get/ajax jQuery $
- 23. ¿Cómo hacer una solicitud HTTP Post/GET en Powershell?
- 24. PHP - Fuente (nombre de host) de una solicitud GET
- 25. PHP GET Solicitud, envío de encabezados
- 26. RestTemplate solicitud GET con los parámetros de solicitud
- 27. ¿Hay un contexto de solicitud en Java?
- 28. ¿Cuánto tiempo pueden ser los parámetros en una solicitud get?
- 29. ¿Cómo agregar parámetros a una solicitud HTTP GET en Android?
- 30. ¿Cómo puedo acceder a una solicitud GET en CAKEPHP?
véase también [la longitud máxima de la solicitud HTTP GET?] (Http://stackoverflow.com/questions/2659952/supplement-length-of-http-get-request) – Bergi
Esta pregunta se cerró sobre la base de que existe una pregunta similar en SO, pero la otra pregunta fue hecha 2 años después. Por lo tanto, esto no puede ser un duplicado. – user902383