Location HTTP
El campo de encabezado de Location de HTTP se devuelve en las respuestas de un servidor HTTP en dos circunstancias:
- Para pedirle a un navegador web que cargue una página web diferente (redireccionamiento de URL). En esta circunstancia, el encabezado de ubicación debe enviarse con un código de estado HTTP de 3xx. Se pasa como parte de la respuesta de un servidor web cuando el URI solicitado tiene:
- Mudado temporalmente;
- Movido permanentemente; o
- Procesó una solicitud, por ejemplo, un formulario enviado por POST, y proporciona el resultado de esa solicitud en un URI diferente
- Para proporcionar información sobre la ubicación de un recurso recién creado. En esta circunstancia, el encabezado de ubicación debe enviarse con un código de estado HTTP de 201 o 202.
Una versión obsoleta de las especificaciones HTTP 1.1 (IETF RFC 2616) requería un URI absoluto completo para la redirección. El grupo de trabajo HTTP de IETF descubrió que los navegadores web más populares toleran el paso de una URL relativa y, en consecuencia, las especificaciones HTTP 1.1 actualizadas (IETF RFC 7231) relajaron la restricción original, permitiendo el uso de URL relativas en los encabezados de ubicación.
Ejemplos
Ejemplo de URL absoluta
Las URL absolutas son URL que comienzan con un esquema (por ejemplo, http:, https:, telnet:, mailto:) y se ajustan a la sintaxis y la semántica específicas del esquema. Por ejemplo, la sintaxis y la semántica específicas del esquema HTTP para las URL HTTP requieren un "host" (dirección del servidor web) y una "ruta absoluta", con componentes opcionales de "puerto" y "consulta".
Un cliente que solicitahttps://www.example.com/index.htmlusando
OBTENER /index.html HTTP / 1.1 Host: www.example.com
puede obtener la respuesta del servidor
HTTP / 1.1 302 Ubicación encontrada : https://www.example.org/index.php
Ejemplo de ruta absoluta de URL relativa
Las URL relativas son URL que no incluyen un esquema o un host. Para que se entiendan, deben combinarse con la URL de la solicitud original.
Una solicitud de cliente para https://www.example.com/blog/all: puede obtener una respuesta del servidor con una ruta absoluta porque comienza con una barra inclinada:
HTTP / 1.1 302 Ubicación encontrada : /artículos/
El cliente expande la URL de la ubicación a https://www.example.com/articles/.
Ejemplo de ruta relativa de URL relativa
Una solicitud de cliente para https://www.example.com/blog/latest puede obtener una respuesta del servidor con una ruta relativa porque no comienza con una barra inclinada:
HTTP / 1.1 302 Ubicación encontrada : 2020/zoológico
El cliente elimina el segmento de la ruta después de la última barra inclinada de la URL original y agrega la ruta relativa que da como resultado https://www.example.com/blog/2020/zoo.
Contenido relacionado
Plataforma Java, edición estándar
Patrones de diseño
Tabla de picadillo