Artinya
Server mengarahkan klien untuk mengambil URL lain dengan GET, biasanya untuk menampilkan hasil sebuah POST.
Penyebab umum
- Post/Redirect/Get setelah pengiriman formulir
- API yang menunjuk ke hasil job yang berjalan lama
Cara memperbaiki
Sebagai klien atau pengunjung
Kirim GET ke Location. Ini mencegah pengiriman ganda saat pengguna me-refresh halaman.
Sebagai pengelola situs atau API
Gunakan 303 setelah POST formulir berhasil untuk mengarahkan pengguna ke halaman hasil, sehingga reload tidak mengirim ulang formulir.
Contoh respons
HTTP/1.1
HTTP/1.1 303 See Other
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: /orders/1001
Content-Length: 0 Spesifikasi
FAQ
› Apa itu pola Post/Redirect/Get?
Setelah POST, server mengembalikan 303 ke halaman hasil; browser memuatnya dengan GET sehingga refresh dan tombol kembali aman.
› 303 atau 302?
303 selalu berarti "ambil URL lain dengan GET". 302 tidak menentukan metode, meski browser juga beralih ke GET.