HEAD

Método HTTP

Especificación del método HTTP HEAD

El método HEAD es idéntico al GET excepto en que el servidor NO DEBE enviar un cuerpo de mensaje en la respuesta (es decir, la respuesta termina al final de la sección de cabecera). El servidor DEBERÍA enviar los mismos campos de cabecera en respuesta a una petición HEAD que habría enviado si la petición hubiera sido GET, excepto que los campos de cabecera de carga útil (Sección 3.3) PUEDEN ser omitidos. Este método puede utilizarse para obtener metadatos sobre la representación seleccionada sin transferir los datos de la representación y se utiliza a menudo para comprobar la validez, accesibilidad y modificación reciente de los enlaces de hipertexto.

Una carga útil dentro de un mensaje de solicitud HEAD no tiene una semántica definida; el envío de un cuerpo de carga útil en una solicitud HEAD podría hacer que algunas implementaciones existentes rechacen la solicitud.

La respuesta a una solicitud HEAD es almacenable en caché; una caché PUEDE utilizarla para satisfacer solicitudes HEAD posteriores a menos que se indique lo contrario en el campo de cabecera Cache-Control (Sección 5.2 de [RFC7234]). Una respuesta HEAD también puede tener efecto sobre respuestas GET previamente almacenadas en caché; ver Sección 4.3.5 de [RFC7234].

El método HTTP HEAD ha sido especificado en la sección 4.3.2 del documento RFC 7231 por la Internet Engineering Task Force (IETF) y el World Wide Web Consortium (W3C).

Descripción del método HEAD

El método HTTP HEAD juega un papel central en el protocolo HTTP, especialmente cuando se trata de obtener información sobre recursos sin descargar el contenido real o "cuerpo" de esos recursos. Imagina que sólo quieres saber el tamaño de un archivo, o si un determinado enlace sigue funcionando, sin descargar todo el archivo o página web. Aquí es donde entra en juego el método HEAD.

Principales características y ventajas del método HEAD:

  • Eficiencia: HEAD permite obtener información sobre un recurso sin descargar el recurso en sí. Esto es especialmente útil cuando sólo se necesitan metadatos y no los datos completos, ahorrando ancho de banda y tiempo.
  • Verificación de enlaces: A menudo, el método HEAD se utiliza para comprobar la validez de los enlaces. Si un servidor responde a una petición HEAD, suele significar que el enlace es válido.
  • Propiedades del archivo: por ejemplo, si se quiere saber el tamaño de un archivo o cuándo se modificó por última vez sin descargarlo, el método HEAD puede ser útil.
  • Gestión de caché: dado que la respuesta a una solicitud HEAD es almacenable en caché, los servidores y las cachés pueden utilizarla para determinar si una versión almacenada localmente de un recurso sigue estando actualizada.

Para decirlo de forma sencilla: El método HEAD es como un "vistazo rápido" a un recurso. Obtienes información básica sobre él sin profundizar ni descargar datos adicionales. Es una forma eficaz de comprobar los metadatos y asegurarse de que los recursos siguen disponibles o de conocer las propiedades de un archivo antes de decidirse por una descarga completa.

Ejemplo para el método HTTP HEAD

Request header:
HEAD /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Response header:
Content-Type: application/json
Content-Length: 254
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache