Saat Anda membuka sebuah halaman web, browser tidak mengunduh satu berkas tunggal. Ia mengambil dokumen HTML terlebih dahulu, lalu menyusulnya dengan puluhan hingga ratusan permintaan lain: gambar, stylesheet, skrip, font, dan panggilan data di latar belakang. Seluruh lalu lintas itu tercatat rapi di panel Network pada perangkat pengembang browser.
Masalahnya, catatan tersebut umurnya sependek tab yang sedang terbuka. Begitu halaman dimuat ulang atau tab ditutup, seluruh riwayatnya hilang. Padahal justru ketika ada masalah, orang lain yang perlu melihatnya: rekan satu tim, pengembang aplikasi, atau tim support yang sedang menelusuri kenapa halaman Anda gagal dimuat.
File HAR adalah jawaban untuk kebutuhan itu. Ia membekukan seluruh isi panel Network menjadi satu berkas yang bisa disimpan, dikirim, dan dibuka kembali oleh siapa pun. Artikel ini membahas isinya, cara membuatnya, cara membacanya, sampai satu hal yang sering luput: berkas ini juga membawa kunci akun Anda.
File HAR Adalah Rekaman Apa?
File HAR adalah berkas yang berisi rekaman lengkap seluruh komunikasi antara browser dan server selama sebuah halaman web dibuka. HAR merupakan singkatan dari HTTP Archive, yang berarti arsip HTTP. Berkas ini memakai format JSON dan disimpan dengan ekstensi .har.
Satu catatan kecil supaya tidak keliru: dalam konteks teknologi web, "har" tidak ada kaitannya dengan singkatan pemeliharaan yang lazim dipakai di industri lain. Ia murni akronim dari HTTP Archive.
Isi sebuah file HAR pada dasarnya adalah daftar. Setiap baris mewakili satu permintaan beserta balasannya, lengkap dengan alamat tujuan, seluruh header, kode status, ukuran data, dan rincian waktu tiap tahap.
Kenapa Tim Support Meminta File HAR, Bukan Tangkapan Layar
Ketika Anda melaporkan bahwa sebuah website tidak bisa diakses, tangkapan layar hanya memperlihatkan gejalanya: halaman putih atau pesan error. Penyebabnya berada di lapisan yang tidak tampak di layar, dan file HAR memindahkan lapisan itu ke tangan orang yang menganalisis.
Empat hal berikut adalah fungsi file HAR yang paling sering dipakai sehari-hari, dan semuanya praktis mustahil didapat tanpa berkas tersebut:
- Permintaan mana yang gagal: kode status seperti 403, 404, atau 502 tercatat per permintaan, sehingga jelas berkas mana yang bermasalah.
- Urutan pengalihan yang terjadi: rantai redirect yang berputar atau berhenti di alamat salah terlihat sebagai urutan yang bisa ditelusuri.
- Berkas yang memberatkan: ukuran setiap sumber daya tercatat, sehingga gambar berukuran raksasa langsung ketahuan.
- Di mana waktu terbuang: tiap permintaan punya rincian waktu per tahap, dan inilah yang membedakan "server lambat" dari "koneksi lambat".
Alat pengukur performa website bekerja dengan bahan yang sama. Grafik air terjun berisi batang-batang berwarna yang mereka tampilkan dibaca dari data serupa isi file HAR.
Karena itu permintaan "tolong kirimkan file HAR" bukan formalitas. Proses debugging yang baik selalu dimulai dari kemampuan mereproduksi masalah, dan berkas ini adalah bentuk paling ringkas dari bukti tersebut. Penyedia layanan web hosting umumnya memintanya untuk keluhan yang tidak dapat mereka reproduksi sendiri, misalnya halaman yang hanya gagal dimuat dari jaringan tertentu.
Struktur File HAR: log, entries, dan Isinya
Struktur file HAR sama di semua browser karena mengikuti format yang sama. Seluruh isinya dibungkus satu objek bernama log, yang di dalamnya berisi enam komponen:
version: nomor versi format, hampir selalu"1.2".creator: nama dan versi alat yang membuat berkas.browser: nama dan versi browser yang merekam; opsional dan tidak selalu terisi.pages: daftar halaman yang direkam, beserta penanda kapan tiap halaman selesai dimuat.entries: daftar seluruh permintaan. Inilah bagian terbesar sekaligus yang paling sering dibaca.comment: catatan bebas, jarang terisi.
Setiap anggota entries mewakili satu pasangan permintaan dan balasan. Isinya cukup seragam, dan contoh berikut sudah dipersingkat agar mudah dibaca:
{
"startedDateTime": "2026-09-07T02:31:44Z",
"time": 412.55,
"request": {
"method": "GET",
"url": "https://contoh.id/style.css"
},
"response": {
"status": 200,
"content": {
"size": 48213,
"mimeType": "text/css"
}
},
"cache": {},
"timings": {
"blocked": 1.2, "dns": 18.4,
"connect": 52.1, "ssl": 31.7,
"send": 0.3, "wait": 302.8,
"receive": 37.7
},
"serverIPAddress": "103.28.14.9"
}Tiga kolom paling sering dipakai saat menelusuri masalah. Kolom time adalah total waktu satu permintaan dalam milidetik, dan serverIPAddress memperlihatkan server mana yang sebenarnya melayani. Kolom cache mencatat apakah balasan diambil dari cache browser alih-alih dari jaringan.
Objek request dan response menyimpan seluruh header apa adanya. Di sinilah panggilan API yang berjalan di latar belakang dapat diperiksa satu per satu, termasuk isi balasannya bila perekaman dilakukan beserta konten.
Struktur file HAR: objek log memuat enam komponen, dan satu entry berisi request, response, cache, serta timings.
Membaca Tujuh Fase Waktu di Setiap Permintaan
Bagian timings adalah alasan utama file HAR lebih berguna daripada sekadar daftar alamat. Ia memecah total waktu satu permintaan menjadi tujuh fase berurutan, semuanya dalam milidetik:
blocked: waktu permintaan mengantre menunggu giliran koneksi. Nilai besar menandakan browser sedang membatasi koneksi serentak ke satu host.dns: waktu menerjemahkan nama domain menjadi alamat IP. Fase ini hanya muncul pada permintaan pertama ke sebuah host karena hasilnya disimpan sementara. Bila konsisten besar, penyebabnya ada di sisi DNS, bukan di server web.connect: waktu membangun koneksi TCP ke server.ssl: waktu negosiasi SSL/TLS. Perlu diperhatikan, angka ini sudah termasuk di dalamconnect, jadi jangan dijumlahkan dua kali saat menghitung total.send: waktu mengirimkan permintaan itu sendiri, hampir selalu di bawah 1 ms kecuali Anda sedang mengunggah berkas.wait: waktu menunggu balasan pertama dari server. Inilah waktu berpikir web server beserta aplikasi dan basis data di belakangnya.receive: waktu membaca seluruh isi balasan sampai selesai.
Nilai -1 berarti fase tersebut tidak berlaku atau datanya tidak tersedia, misalnya dns pada permintaan yang memakai koneksi yang sudah terbuka.
Tujuh fase timings file HAR: dari 412,55 ms satu permintaan, wait menelan 302,8 ms dan ssl ada di dalam connect.
Ada satu patokan angka yang bisa Anda pakai. Jumlah dns, connect, send, dan wait pada permintaan dokumen utama setara dengan Time to First Byte (TTFB), yaitu waktu sampai byte pertama balasan tiba. Google menyebut 800 ms ke bawah sebagai batas yang baik untuk TTFB. Bila jumlah keempat fase itu melampaui angka tersebut, lihat fase mana penyumbang terbesarnya:
waitmendominasi: masalahnya di sisi server. Skrip yang lambat, kueri basis data yang berat, atau server yang kelebihan beban.dnsdanconnectmendominasi: masalahnya di jalur menuju server, bukan di server itu sendiri. Penyebab yang lazim adalah jarak geografis atau resolver yang lambat.receivemendominasi: berkasnya memang besar. Periksa kolom ukuran pada balasan yang sama. Fase ini berada di luar TTFB, jadi ia memperlambat halaman tanpa membuat angka TTFB naik.blockedmendominasi: terlalu banyak permintaan berebut koneksi ke host yang sama.
Karena dicatat per permintaan, pola ini juga terbaca lewat perbandingan. Bila hanya satu permintaan yang wait-nya melonjak sementara sisanya normal, yang bermasalah adalah satu endpoint tertentu, bukan servernya secara keseluruhan.
Cara Membuat File HAR di Chrome, Edge, Firefox, dan Safari
Prosesnya sama di semua browser: buka perangkat pengembang, pindah ke panel Network, reproduksi masalahnya, lalu ekspor. Yang berbeda hanya letak menunya.
Sebelum mulai, tiga persiapan berikut menentukan apakah rekaman Anda berguna atau tidak:
- Rekam di jendela penyamaran (incognito atau private). Ekstensi browser ikut menyuntikkan permintaannya sendiri dan mengaburkan gambaran.
- Aktifkan Preserve log. Tanpa ini rekaman terhapus setiap kali halaman berpindah, persis pada kasus yang paling sering ditelusuri seperti pengalihan atau kegagalan login.
- Mulai dari nol. Kosongkan daftar tepat sebelum mereproduksi masalah supaya berkasnya tidak bercampur lalu lintas lain.
Langkah #1: Buka panel Network
Di Chrome, Edge, dan Firefox, tekan F12 atau Ctrl + Shift + I (Cmd + Option + I di Mac), lalu pilih tab Network. Pembahasan inspect element memuat daftar pintasan lengkap untuk tiap sistem operasi.
Safari membutuhkan satu langkah tambahan karena menunya tersembunyi. Buka Settings → Advanced, centang opsi untuk menampilkan fitur pengembang, lalu buka Web Inspector dengan Option + Cmd + I dan pilih tab Network.
Langkah #2: Siapkan perekaman
Centang Preserve log di bilah atas panel. Bila Anda juga ingin menghilangkan pengaruh cache, centang Disable cache, tetapi sadari hasilnya menggambarkan kunjungan pertama dan bukan kunjungan berulang. Setelah itu tekan tombol Clear untuk mengosongkan daftar.
Langkah #3: Reproduksi masalahnya
Dengan panel tetap terbuka, ulangi persis langkah yang memunculkan masalah: muat ulang halaman, tekan tombol yang gagal, atau jalankan proses login sampai error muncul. Pastikan daftar permintaan terisi selama proses berlangsung.
Langkah #4: Ekspor menjadi berkas
Di Chrome dan Edge, klik ikon Export HAR di bilah atas panel, atau klik kanan salah satu baris permintaan lalu pilih Save all as HAR. Di Firefox, klik kanan di area daftar dan pilih Save All As HAR. Di Safari, buka menu Export pada panel Network.
Simpan berkas dengan nama yang menjelaskan konteksnya, misalnya login-gagal-7sep.har.
Label menu ekspor di Chrome berbeda tergantung versi. Sejak Chrome 130 muncul dua pilihan yang hasilnya tidak sama, dan perbedaannya dibahas di bagian berikut.
Sejak Chrome 130, File HAR Anda Tidak Lagi Utuh
Pada 15 Oktober 2024, Chrome 130 mengubah perilaku ekspor HAR secara mendasar. Menurut catatan resmi tim Chrome, hasil ekspor tidak lagi memuat header Cookie, Set-Cookie, dan Authorization secara default. Perubahan ini berlaku di seluruh browser berbasis Chromium, termasuk Microsoft Edge.
Konsekuensinya terasa di dua arah. Berkas yang Anda kirim menjadi jauh lebih aman karena cookie sesi tidak lagi ikut terbawa. Sebaliknya, penerima berkas kadang kebingungan karena data yang mereka cari tidak ada.
Menu ekspornya kini memuat dua pilihan yang perlu dibedakan:
- Export HAR (sanitized): pilihan bawaan. Ketiga header sensitif tadi dihapus.
- Export HAR (with sensitive data): versi utuh, sering disebut juga unsanitized, dan tidak muncul sampai Anda mengaktifkannya.
Untuk memunculkan pilihan kedua, buka Settings → Preferences → Network, lalu aktifkan Allow to generate HAR with sensitive data. Setelah itu tekan lama tombol Export dan pilih versi utuh dari daftar yang muncul.
Ekspor HAR sanitized membuang header Cookie, Set-Cookie, dan Authorization; versi utuh membawanya dan harus diaktifkan.
Kapan versi utuh benar-benar dibutuhkan? Hanya ketika masalahnya memang berkaitan dengan autentikasi: sesi yang putus sendiri, token yang ditolak, atau cookie yang tidak terkirim ke domain yang seharusnya. Di luar itu, versi tersanitasi sudah memadai.
Firefox tidak melakukan penyaringan semacam ini. Dokumentasi resminya hanya menjelaskan mekanisme penyimpanan HAR tanpa menyebut sanitasi maupun peringatan data sensitif. Artinya berkas dari Firefox tetap membawa cookie dan header otorisasi apa adanya, dan pemeriksaannya menjadi tanggung jawab Anda sendiri.
File HAR Menyimpan Kunci Akun Anda: Pelajaran dari Okta
Perubahan yang dilakukan Chrome bukan kekhawatiran teoretis. Ada kejadian nyata yang memperlihatkan akibatnya.
Antara 28 September dan 17 Oktober 2023, penyerang memperoleh akses tidak sah ke sistem tiket support milik Okta, penyedia layanan identitas yang dipakai banyak perusahaan besar. Yang tersimpan di sana adalah berkas yang diunggah pelanggan saat melaporkan masalah. Menurut analisis akar masalah yang diterbitkan Okta, sebagian di antaranya file HAR yang memuat token sesi, dan token itu dapat dipakai untuk pembajakan sesi. Tercatat 134 pelanggan terdampak — kurang dari 1% pelanggan Okta — dan lima di antaranya benar-benar dibajak.
Mekanismenya perlu dipahami karena tidak intuitif. Token sesi adalah penanda yang diberikan server setelah Anda berhasil login. Selama token itu berlaku, ia menggantikan proses login: siapa pun yang memegangnya diperlakukan sebagai Anda. Kata sandi tidak diperlukan lagi, dan autentikasi dua faktor sudah terlewati sejak awal. Karena itu token sesi yang bocor sama artinya dengan akun yang bocor.
Login menghasilkan token sesi yang ikut terekam di HAR; berkas yang dikirim mentah membuka akun tanpa kata sandi.
Google memberi peringatan serupa pada alat penganalisis HAR miliknya sendiri. Halaman itu menyebut file HAR mengandung cookie yang memungkinkan pemegangnya menyamar sebagai pemilik akun. Perlakukan berkas ini seperti tangkapan layar yang menampilkan kata sandi.
Membersihkan File HAR Sebelum Anda Mengirimkannya
Membersihkan berkas jauh lebih mudah bila dipikirkan sejak sebelum merekam. Urutan berikut menutup sebagian besar risiko:
- Rekam dengan akun uji bila memungkinkan. Untuk masalah yang tidak spesifik ke satu akun, cara ini menghilangkan seluruh persoalan sejak awal.
- Pakai ekspor tersanitasi bila sudah cukup. Di browser berbasis Chromium, pilihan bawaan sudah membuang tiga header paling berbahaya.
- Jalankan alat redaksi untuk sisanya. Header bukan satu-satunya tempat data sensitif bersembunyi: token sering menempel di alamat sebagai parameter, dan isian formulir tersimpan di badan permintaan.
Beberapa alat yang tersedia untuk langkah ketiga:
- har-sanitizer dari Google. Ia mendata seluruh kata sandi, cookie, header, parameter alamat, dan isian formulir di dalam berkas, lalu meredaksi yang dikenal sensitif maupun yang Anda tunjuk sendiri.
- har-tools dari Edgio, aplikasi web yang logika penyaringannya berjalan di sisi klien sehingga berkas tidak perlu meninggalkan komputer Anda.
- SanitizHAR, ekstensi perangkat pengembang Chrome yang membersihkan berkas sebelum disimpan.
Setelah dibersihkan, sempatkan membuka berkasnya dan cari lima kata kunci: password, token, authorization, secret, dan apikey. Pemeriksaan ini memakan waktu kurang dari satu menit, dan berkali-kali menyelamatkan orang dari mengirimkan kredensial yang masih berlaku.
Kelemahan dan Batas File HAR
File HAR bukan alat serbaguna. Ada empat hal yang perlu Anda pertimbangkan sebelum mengandalkannya.
- Ukurannya cepat membengkak. Bila perekaman dilakukan beserta isi balasan, setiap gambar dan berkas skrip ikut disimpan sebagai teks berkode base64. Pengkodean itu memperbesar data sekitar 33% karena setiap tiga byte diwakili empat karakter. Halaman yang berat gambar dapat menghasilkan berkas ratusan megabyte, dan banyak sistem tiket support menolak lampiran sebesar itu.
- Ia hanya melihat dari sisi browser. Ketika
waitbesar, berkas ini memberi tahu bahwa server lambat, tetapi tidak memberi tahu penyebabnya. Untuk itu Anda tetap membutuhkan catatan dari sisi server. - Hasilnya tidak seragam antar browser. Spesifikasi HAR 1.2 yang dirujuk hampir semua alat sebenarnya sebuah draft W3C Web Performance Working Group tertanggal 14 Agustus 2012. Dokumen itu sendiri menyatakan bahwa ia tidak pernah diterbitkan dan sudah ditinggalkan. Tanpa standar resmi yang mengikat, setiap browser mengisi kolom opsional dengan caranya sendiri, sehingga berkas dari Chrome dan Firefox untuk halaman yang sama bisa berbeda kelengkapannya.
- Rekamannya sekali jalan. File HAR menangkap satu percobaan pada satu waktu, sehingga masalah yang muncul sesekali perlu direkam berulang kali sampai kejadiannya masuk.
Membuka dan Menganalisis File HAR yang Sudah Ada
Cara paling praktis membuka berkas HAR yang Anda terima adalah mengembalikannya ke tempat asalnya. Buka perangkat pengembang browser, masuk ke panel Network, lalu seret berkas .har ke area daftar permintaan. Panel akan terisi persis seperti saat rekaman dibuat, lengkap dengan grafik air terjun dan pengurutan berdasarkan ukuran atau durasi.
Alternatifnya adalah penganalisis berbasis web, yang biasa disebut HAR viewer atau HAR analyzer. Google menyediakan HAR Analyzer pada Admin Toolbox, yang menampilkan berkas sebagai tabel beserta tombol redaksi dan tidak menuntut pemasangan apa pun.
Perhatikan satu hal sebelum mengunggah. Berkas yang belum dibersihkan sebaiknya tidak dikirim ke layanan pihak ketiga mana pun. Bila memang terpaksa, pilih alat yang menyatakan pemrosesannya berjalan di sisi klien.
Karena isinya JSON biasa, file HAR juga mudah diubah ke bentuk lain. Sebagian alat mengonversinya menjadi CSV atau spreadsheet supaya seluruh permintaan bisa diurutkan dan dijumlahkan. Sebagian lagi menerjemahkan rekaman menjadi koleksi permintaan yang dapat dijalankan ulang di Postman, atau menjadi skrip pengujian beban untuk JMeter dan k6.
File HAR juga dapat dihasilkan tanpa membuka browser secara manual. Playwright, misalnya, menyediakan opsi recordHar saat membuat konteks browser, sehingga seluruh lalu lintas satu skenario pengujian tersimpan otomatis begitu konteksnya ditutup. Pendekatan ini berguna untuk menangkap masalah yang hanya muncul di lingkungan otomatis.
Pertanyaan yang Sering Diajukan
HAR singkatan dari apa?
HAR adalah singkatan dari HTTP Archive, yang berarti arsip HTTP. Namanya menggambarkan isinya: arsip seluruh permintaan dan balasan HTTP yang terjadi saat sebuah halaman dibuka.
Kenapa file HAR saya tidak berisi cookie?
Karena Anda memakai Chrome atau Edge versi 130 ke atas, yang sejak Oktober 2024 membuang header Cookie, Set-Cookie, dan Authorization secara default. Untuk mendapatkan versi utuh, aktifkan Allow to generate HAR with sensitive data di Settings → Preferences → Network, lalu pilih ekspor with sensitive data.
Apakah file HAR bisa dibuka dengan Notepad?
Bisa, karena isinya teks JSON biasa. Namun berkas dari satu halaman saja sering mencapai puluhan ribu baris. Kembalikan saja ke panel Network browser, atau pakai penganalisis khusus.
Apakah aman mengirim file HAR ke tim support?
Aman bila berkasnya sudah dibersihkan dan penerimanya pihak resmi. Yang tidak aman adalah mengirim berkas mentah ke saluran publik seperti forum atau grup percakapan, karena berkas mentah dapat memuat token sesi yang masih berlaku.
Berapa ukuran wajar sebuah file HAR?
Tanpa isi balasan, berkas dari satu halaman biasa berkisar antara ratusan kilobyte sampai beberapa megabyte. Bila melampaui 50 MB, kemungkinan besar perekaman dilakukan beserta konten pada halaman yang berat gambar. Rekam ulang tanpa konten, atau batasi perekaman pada permintaan yang relevan.
Kenapa file HAR saya kosong atau tidak bisa dibuka?
Penyebab paling umum adalah perekaman baru dimulai setelah halaman selesai dimuat, sehingga daftar permintaan masih kosong ketika diekspor. Pastikan panel Network sudah terbuka sebelum Anda memuat ulang halaman. Berkas berukuran nol byte biasanya menandakan proses ekspor terputus dan cukup diulang. Sementara berkas yang gagal dibuka kembali di panel Network umumnya rusak karena dikirim lewat aplikasi percakapan yang memampatkannya, jadi kirimkan sebagai lampiran atau di dalam arsip zip.
Kesimpulan
File HAR adalah rekaman lengkap komunikasi browser dengan server selama sebuah halaman dibuka, tersimpan dalam format JSON. Ia berguna justru ketika masalah sulit dijelaskan dengan kata-kata: permintaan yang gagal, pengalihan yang berputar, atau waktu muat yang tidak wajar semuanya menjadi data yang dapat ditelusuri orang lain.
Yang perlu melekat sebagai kebiasaan adalah sisi keamanannya. Berkas ini dapat memuat token sesi yang setara dengan akun Anda sendiri, baik pada berkas dari Firefox maupun pada ekspor utuh dari Chrome. Rekam di jendela penyamaran, gunakan ekspor tersanitasi bila memadai, dan periksa isinya sekali sebelum berkas berpindah tangan. Semoga artikel ini membantu.




