es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Debería devolverse el encabezado `Location` en una solicitud `POST` si la URL no cambió?

Estoy tratando de determinar si el encabezado Location debe incluirse como resultado de una llamada POST, cuando se crea un nuevo recurso y la URL no cambia.

Por lo que entiendo del documento, se necesita el Location si se desea redireccionar a una ubicación diferente.

El rfc de HTTP indica:

“redirigir al destinatario a una ubicación diferente que no sea la del URI de la solicitud”.

14.30 Ubicación

El campo del encabezado de respuesta Location se utiliza para redirigir al destinatario a una ubicación diferente que no sea la del URI de la solicitud, para finalizar la solicitud o identificar un nuevo recurso. Para las respuestas 201 (Creado), la ubicación es la del nuevo recurso que se creó mediante la solicitud. […]

Los documentos de Mozilla dicen:

“su ubicación puede ser la URL de la solicitud o el contenido del encabezado Location”.

El código de estado de éxito 201 Creado indica que la solicitud se ha realizado correctamente y ha llevado a la creación de un recurso. El nuevo recurso se crea efectivamente antes de que se envíe esta respuesta y se devuelve en el cuerpo del mensaje, su ubicación puede ser la URL de la solicitud o el contenido del encabezado Location.

Lo que me hace dudar son las partes “diferente que no sea” y “o”.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Según el rfc de HTTP y los documentos de Mozilla, parece que la cabecera Location debe incluirse en la respuesta de una llamada POST cuando se crea un nuevo recurso, independientemente de si la URL del nuevo recurso es la misma que la URL de la solicitud. La cabecera Location debe contener la URL del nuevo recurso. Sin embargo, parece haber cierta ambigüedad en la redacción del rfc de HTTP en cuanto a si la cabecera Location es necesaria solo si el nuevo recurso está en una ubicación diferente a la URL de la solicitud, o si siempre debe usarse para respuestas 201 (Creado). Por lo tanto, puede ser mejor incluir la cabecera Location en todas las respuestas 201 para garantizar claridad y consistencia.

Comments are closed.