HTTPQUERY
Bahasa Indonesia

HEAD

Penggunaan

Permintaan HEAD mengambil metadata tentang sebuah sumber daya: ukuran, tipe, kesegaran, dan keberadaannya. Server memproses permintaan tersebut persis seperti GET tetapi berhenti sebelum mengirimkan badan pesan. Semua header respons, termasuk Content-Length dan Content-Type, sama dengan header pada respons GET yang utuh.

Kasus penggunaan umum

Validasi tautan. Perkakas otomatis mengirimkan permintaan HEAD untuk memverifikasi bahwa URL mengembalikan 200 tanpa mengunduh halaman secara utuh. Tautan rusak terlihat sebagai respons 404 atau 410.

Pemantauan dan pemeriksaan kesehatan. Monitor uptime memeriksa endpoint dengan HEAD untuk memastikan ketersediaannya. Ukuran respons yang lebih kecil mengurangi bandwidth dan mempercepat interval polling.

Penjajakan negosiasi konten. Klien memeriksa header Content-Type, Content-Encoding, dan Content-Language sebelum memutuskan apakah akan mengambil sumber daya secara utuh.

Validasi cache. Respons HEAD yang membawa ETag atau Last-Modified memungkinkan cache memeriksa kesegaran tanpa mengunduh badan pesan. Jika header respons HEAD menunjukkan bahwa salinan yang tersimpan sudah basi, cache menandai entri tersebut sebagaimana mestinya.

Perkiraan ukuran unduhan. Pengelola berkas dan perkakas unduhan membaca Content-Length dari respons HEAD untuk menampilkan ukuran berkas atau mengalokasikan ruang disk sebelum memulai transfer.

Catatan

Badan permintaan pada permintaan HEAD tidak memiliki semantik yang terdefinisi secara umum. Sebagian implementasi menolak permintaan HEAD yang membawa badan pesan. Menyertakan badan pesan berisiko memicu kerentanan request smuggling pada perantara yang salah mengurai framing pesan.

Contoh

Sebuah permintaan HEAD untuk memeriksa apakah suatu sumber daya ada dan untuk meninjau header responsnya. Server mengembalikan 200 dengan metadata konten tetapi tanpa badan pesan.

Permintaan

HEAD /report.pdf HTTP/1.1
Host: example.com

Respons

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 284750
Last-Modified: Mon, 10 Feb 2025 08:30:00 GMT
ETag: "f47ac10b"

Header Content-Length mengungkapkan bahwa berkas tersebut berukuran sekitar 278 KB. Header Last-Modified dan ETag menyediakan validator untuk permintaan bersyarat pada pengambilan berikutnya.

CORS

HEAD adalah metode yang termasuk daftar aman (safelist) CORS. Permintaan HEAD lintas origin tidak memicu permintaan preflight, mengikuti perilaku daftar aman yang sama seperti GET.

HEAD vs GET

HEAD mengembalikan header yang sama dengan GET tetapi sepenuhnya menghilangkan badan respons. Hal ini membuat HEAD lebih cepat dan lebih hemat bandwidth untuk tugas-tugas yang hanya membutuhkan metadata.

Penerapan umumnya mencakup pemeriksaan apakah suatu sumber daya ada, pembacaan Content-Length untuk mengetahui ukuran berkas, peninjauan tanggal Last-Modified, dan perolehan validator cache seperti ETag tanpa mengunduh sumber daya secara utuh.

Sebagian server mengimplementasikan HEAD dengan menjalankan handler GET secara utuh di internal lalu melepas badan pesannya sebelum mengirimkan respons. Dalam kasus seperti itu, manfaat performanya terbatas pada waktu transfer yang dihemat untuk byte badan pesan saja.

Respons HEAD juga memperbarui respons GET yang tersimpan di cache. Ketika cache mengirimkan permintaan HEAD dan validator yang dikembalikan cocok dengan entri GET yang tersimpan, cache menyegarkan header yang tersimpan tersebut sebagaimana mestinya.

Dampak SEO

Crawler mesin pencari mengambil halaman dengan GET, bukan HEAD, sehingga HEAD tidak mendorong pengindeksan. HEAD tetap berguna bagi pemeriksa tautan, monitor uptime, dan perkakas audit SEO yang memastikan sebuah URL mengembalikan 200 tanpa mengunduh badan pesannya.