por metodo method form example enviar ejemplos ejemplo datos http

http - method - metodo post html ejemplo



¿La solicitud HTTP POST permite enviar de vuelta un cuerpo de respuesta? (2)

Según la especificación HTTP:

Si se ha creado un recurso en el servidor de origen, la respuesta DEBERÍA ser 201 (Creado) y contener una entidad que describa el estado de la solicitud y haga referencia al nuevo recurso, y un encabezado de Ubicación (ver sección 14.30).

¿Esto significa que la solicitud POST siempre debe enviar un URI de redireccionamiento en el encabezado de la ubicación sin cuerpo de respuesta?


Basado en el párrafo 9.5 de la especificación HTTP 1.1 , que es la referencia para preguntas como esa, aquí está mi entendimiento:

Sí, puedes, y la especificación es clara sobre lo que puedes hacer y cómo hacerlo:

La acción realizada por el método POST podría no dar como resultado un recurso que pueda identificarse mediante un URI. En este caso, 200 (OK) o 204 (Sin contenido) es el estado de respuesta adecuado, dependiendo de si la respuesta incluye o no una entidad que describe el resultado.

Si se ha creado un recurso en el servidor de origen, la respuesta DEBERÍA ser 201 (Creado) y contener una entidad que describa el estado de la solicitud y se refiera al nuevo recurso, y un encabezado de ubicación (consulte la sección 14.30).

Las respuestas a este método no se pueden almacenar en caché, a menos que la respuesta incluya los campos de encabezado Cache-Control o Expires apropiados. Sin embargo, la respuesta 303 (ver Otro) puede usarse para dirigir al agente de usuario a recuperar un recurso almacenable en caché.


Es perfectamente aceptable especificar un cuerpo de respuesta y usar el encabezado de ubicación al mismo tiempo. Cuando utiliza el encabezado de Ubicación con una respuesta 201, no está redireccionando al cliente, solo le indica dónde puede encontrar el recurso en el futuro.

Las redirecciones solo se aplican a las respuestas 3xx.

Los documentos W3C para esto explican más, aunque el texto en realidad es bastante ambiguo:

El campo del encabezado de respuesta de la ubicación se usa para redirigir al destinatario a una ubicación que no sea el URI de la solicitud para completar la solicitud o la identificación de un nuevo recurso. Para 201 (respuestas creadas), la ubicación es la del nuevo recurso creado por la solicitud. Para las respuestas 3xx, la ubicación DEBERÍA indicar el URI preferido del servidor para la redirección automática al recurso.

Lo leí diciendo "... redirigir ... o ... identif [y] ... nuevo recurso", pero no es exactamente una simple frase en inglés.