Penganalisis HTTP Headers
HTTP headers membawa metadata tentang permintaan dan respons. Alat ini mengurai pesan HTTP lengkap termasuk baris permintaan/status, header, dan konten body. Menganalisis header keamanan (HSTS, CSP), autentikasi (Basic, Bearer), cookie, konfigurasi CORS, dan direktif caching. Konten body diformat secara otomatis dan disorot sintaksnya berdasarkan Content-Type (JSON, HTML, XML).
Spesifikasi
Kasus Penggunaan Umum
- Debug permintaan API yang disalin dari tab Network DevTools browser
- Menganalisis output curl -i atau curl -v dengan header dan body
- Mengaudit header keamanan untuk kepatuhan (rekomendasi OWASP)
- Memecahkan masalah preflight CORS dan masalah cross-origin
- Memeriksa header autentikasi dan konfigurasi cookie
- Memverifikasi perilaku caching untuk CDN dan caching browser
Fitur
- Mengurai permintaan HTTP lengkap (GET /path HTTP/1.1)
- Mengurai respons HTTP dengan kode status dan frasa alasan
- Memformat dan menyorot sintaks konten body (JSON, HTML, XML, CSS)
- Mendekode header Authorization (kredensial Basic auth, Bearer tokens)
- Menganalisis header keamanan (HSTS, CSP, X-Frame-Options, X-Content-Type-Options)
- Mengurai atribut Set-Cookie (Secure, HttpOnly, SameSite, kedaluwarsa)
- Ekstraksi dan daftar cookie dari header
- Menampilkan header CORS (Access-Control-Allow-Origin, dll.)
- Menjelaskan direktif Cache-Control (max-age, no-cache, private)
Contoh
Respons API dengan Body JSON
Coba →Respons HTTP lengkap dengan header dan body JSON, seperti yang mungkin Anda salin dari output curl -i.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: max-age=3600, public
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
{
"status": "success",
"data": {
"id": 12345,
"name": "Example User"
}
}Permintaan HTTP dengan Autentikasi
Coba →Permintaan dengan autentikasi Bearer token dan cookie.
GET /api/users HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/json
Cookie: session=abc123; theme=darkTips
- Gunakan "curl -i URL" untuk menyertakan header respons dalam output.
- Di DevTools browser, klik kanan permintaan dan "Copy as cURL" untuk mendapatkan permintaan lengkap.
- HSTS (Strict-Transport-Security) memberi tahu browser untuk hanya menggunakan HTTPS untuk domain tersebut.
- CSP (Content-Security-Policy) mengontrol sumber daya mana yang dapat dimuat halaman.
- Atribut cookie SameSite membantu mencegah serangan CSRF.
Pemahaman Penganalisis HTTP Headers
HTTP headers adalah pasangan kunci-nilai yang dikirim antara klien dan server sebagai bagian dari setiap permintaan dan respons HTTP. Mereka membawa metadata tentang pesan: tipe konten, direktif caching, kredensial autentikasi, dan kebijakan keamanan. Header muncul setelah baris permintaan atau status dan sebelum body opsional, dipisahkan dari body oleh baris kosong.
Header permintaan memberikan konteks tentang klien dan respons yang diinginkan. Host mengidentifikasi server target. Accept dan Content-Type menegosiasikan format media. Authorization membawa kredensial (Basic, Bearer, kunci API). Cookie mengirim data sesi yang tersimpan. User-Agent mengidentifikasi perangkat lunak klien.
Header respons mengontrol bagaimana klien menangani konten. Cache-Control dan ETag mengatur perilaku caching. Set-Cookie menetapkan state sisi klien. Content-Security-Policy membatasi pemuatan sumber daya untuk memitigasi XSS. Strict-Transport-Security memaksa HTTPS. Header CORS (Access-Control-Allow-Origin dan terkait) mengontrol pembagian sumber daya lintas-origin, salah satu aspek yang paling sering salah dikonfigurasi dari API web.
Memahami header sangat penting untuk debugging aplikasi web. Ketika API mengembalikan hasil yang tidak terduga, header sering mengungkapkan penyebabnya: Content-Type yang hilang, token autentikasi yang kedaluwarsa, direktif caching yang menyajikan data basi, atau kebijakan CORS yang memblokir permintaan.
Direktif Cache-Control adalah salah satu header yang paling disalahpahami. Direktif no-cache tidak berarti "jangan cache" — artinya cache harus memvalidasi ulang dengan server asal sebelum menggunakan respons yang tersimpan. Respons masih bisa di-cache. Direktif no-store adalah yang benar-benar mencegah caching sepenuhnya, dan harus digunakan untuk data sensitif. Untuk konten yang sering berubah yang mendapatkan manfaat dari permintaan kondisional, no-cache dikombinasikan dengan ETag atau Last-Modified adalah strategi yang tepat.
Error CORS terjadi ketika permintaan browser ke origin yang berbeda kehilangan header respons Access-Control-Allow-Origin. Server harus menyertakan header ini dengan origin yang meminta atau * untuk API publik. Ketika kredensial (cookie atau header Authorization) terlibat, wildcard tidak diizinkan — header harus menentukan origin yang tepat. Permintaan preflight OPTIONS tambahan memerlukan Access-Control-Allow-Methods dan Access-Control-Allow-Headers. Autentikasi Bearer token menggunakan format Authorization: Bearer <token>, di mana token biasanya adalah JWT atau access token opaque dari alur OAuth 2.0. Tidak seperti cookie, Bearer tokens tidak dikirim secara otomatis — klien harus secara eksplisit melampirkan header ke setiap permintaan.
Setiap situs web harus menetapkan set minimum header keamanan. Strict-Transport-Security (HSTS) memastikan HTTPS selalu digunakan. Content-Security-Policy memitigasi XSS dengan membatasi pemuatan sumber daya. X-Content-Type-Options: nosniff mencegah MIME type sniffing. X-Frame-Options melindungi dari clickjacking, dan Referrer-Policy mengontrol informasi apa yang dikirim dalam header Referer. API harus tambahan mengkonfigurasi header CORS yang sesuai untuk mengontrol origin mana yang dapat membuat permintaan.