2011-11-09 17 views

Respuesta

14

No es necesario. El RFC2616 sin embargo no lo prohíbe también. Tenga en cuenta que hace prohíbe el cuerpo del mensaje para ciertos estados, como 204 y 304. Si lo mismo fuera cierto para 302, seguramente debería haber sido mencionado explícitamente.

Hasta donde yo sé, todos los navegadores modernos ignoran el cuerpo del mensaje de un 302 en respuesta a un GET o POST y van directamente a la URL como se especifica en el encabezado Location.

3

Se necesita un cuerpo, pero puede estar vacío. Ver HTTPbis Part 1, Section 3.3.

+0

¿Cuál es la diferencia entre suministrar un cuerpo vacío y no suministrar un cuerpo en absoluto? – Barmar

+1

Content-Length o codificación de transferencia fragmentada. –

2

AFAICT la especificación describe al menos dos reglas:

  1. peticiones HEAD requieren la respuesta para contener un encabezado de ubicación. Las respuestas HEAD nunca deben contener nada en el cuerpo de respuesta.

  2. Las solicitudes GET requieren que se incluya al menos un hipervínculo con una descripción en el cuerpo de la respuesta.

¿Su plan es poblar el encabezado de ubicación?

En cuanto a su pregunta con respecto a conocer cualquier peligro práctico de responder a una solicitud GET con un cuerpo vacío, el único problema que puedo ver es funcional, cuando los usuarios desactivan el redireccionamiento automático. Los robots también probablemente esperan un hipervínculo. Como @BalusC mencionó, es posible que tenga una alternativa en 204 Sin respuesta de contenido. Si el usuario dice que el usuario está cambiando cosas en su aplicación de manera ajaxy, el código del cliente podría mantener el documento y el estado de la entidad y el servidor podría responder con 204's. Sin embargo, ahora estoy saltando y supongo que sé algo sobre su caso de uso.

Cuestiones relacionadas