DNS RobotDNS Propagation Checker
BerandaDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

Alat pemeriksaan DNS generasi terbaru

Kebijakan PrivasiKetentuan LayananTentang KamiBlogKontak

Alat DNS

Pencarian DNSDomain ke IPPencarian NSPencarian MXPencarian CNAMELihat semua

Alat Email

Pemeriksa Rekaman SPFPemeriksa DMARCPemeriksa DKIMAlat Tes SMTPAnalisis Header EmailLihat semua

Alat Website

Pencarian WHOISKetersediaan DomainPencari SubdomainPendeteksi CMSAnalisis TautanLihat semua

Alat Jaringan

Alat PingTraceroutePemeriksa PortPemeriksaan Header HTTPPemeriksaan Sertifikat SSLLihat semua

Alat IP

Pencarian IPIP Saya ApaPemeriksaan Daftar Hitam IPIP ke HostnamePencarian ASNLihat semua

Alat Utilitas

Pemindai QR CodePembuat QR CodeUPI QR Code GeneratorWiFi QR Code GeneratorPenerjemah Kode MorseLihat semua
© 2026 DNS Robot. Dikembangkan oleh: ❤ Shaik Brothers
Semua sistem beroperasi normal
Made with
Beranda/Blog/Kode Status HTTP 302 (302 Found): Arti dan Kapan Menggunakannya

Kode Status HTTP 302 (302 Found): Arti dan Kapan Menggunakannya

Shaik Vahid26 Apr 20269 menit baca
Infografis kode status HTTP 302 menampilkan alur pengalihan sementara dengan header Location dan perbandingan 301 vs 302 vs 307
Infografis kode status HTTP 302 menampilkan alur pengalihan sementara dengan header Location dan perbandingan 301 vs 302 vs 307

Poin Penting

Kode status HTTP 302 (302 Found) adalah pengalihan sementara: sumber daya yang diminta berada sementara di URL berbeda yang ditunjukkan oleh header Location, namun URL asli tetap harus digunakan untuk permintaan berikutnya. Gunakan 302 untuk pengalihan jangka pendek (login, pengujian A/B, pemeliharaan) dan 301 hanya jika perpindahan bersifat permanen. Untuk mempertahankan permintaan POST melewati pengalihan, gunakan 307 alih-alih 302.

Advertisement

Apa Itu Kode Status HTTP 302?

Kode status HTTP 302 — secara resmi disebut 302 Found — adalah kode respons HTTP yang memberi tahu klien (biasanya browser) bahwa sumber daya yang diminta telah dipindahkan sementara ke URL lain. URL baru disediakan dalam header Location respons, dan klien diharapkan mengambil sumber daya dari sana hanya untuk permintaan ini.

Karena perpindahan bersifat sementara, klien harus terus menggunakan URL asli untuk permintaan berikutnya. Mesin pencari, browser, dan bookmark tidak boleh mengganti URL asli dengan target pengalihan. Inilah perbedaan perilaku utama antara HTTP 302 dan 301 Moved Permanently.

Kode 302 termasuk dalam kelas 3xx pengalihan kode status HTTP, yang didefinisikan dalam RFC 9110. Meskipun nama historisnya 'Found', body respons hampir tidak pernah digunakan — browser modern langsung mengikuti header Location tanpa merendernya.

Catatan

Definisi singkat: respons 302 berarti 'sumber daya yang Anda minta sementara di sini — ambil dari URL di header Location, tapi tetap pakai URL asli di lain waktu.'

Anatomi Respons 302

Respons kode status HTTP 302 selalu berisi dua elemen penting: baris status itu sendiri dan header Location yang menunjuk ke URL baru. Tanpa header Location yang valid, klien tidak dapat mengikuti pengalihan.

  • Baris status — HTTP/1.1 302 Found (atau HTTP/2 302 di HTTP/2)

  • Header Location — URL tujuan yang harus diikuti klien (wajib)

  • Cache-Control — biasanya no-cache agar browser tidak menyimpan target pengalihan secara permanen

  • Body — biasanya kosong; server bisa menyertakan halaman HTML kecil untuk klien lama (<html><body><a href="...">Klik di sini</a></body></html>)

http
HTTP/1.1 302 Found
Location: https://www.example.com/new-page
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Cache-Control: no-cache, no-store
Date: Mon, 27 Apr 2026 14:00:00 GMT

Tips

Selalu setel Cache-Control: no-cache pada respons 302. Tanpa ini, beberapa browser dapat menyimpan pengalihan untuk sesi saat ini dan tidak memeriksa ulang URL asli — merusak sifat 'sementara' dari pengalihan tersebut.

Header Location bisa berupa URL absolut (https://example.com/path) atau URL relatif terhadap path (/path). Klien HTTP modern menerima keduanya, meskipun URL absolut direkomendasikan untuk kejelasan.

302 vs 301 vs 307 vs 308: Pengalihan Mana yang Harus Digunakan?

HTTP mendefinisikan lima kode status pengalihan umum, dan memilih yang tepat penting untuk caching, SEO, dan pelestarian metode permintaan. Gunakan tabel ini sebagai matriks keputusan:

KodePermanensiMetode Dipertahankan?Di-cache Browser?Terbaik Untuk
301 Moved PermanentlyPermanenBisa berubah POST→GETYa (agresif)Perubahan URL permanen, migrasi domain
302 FoundSementaraSering berubah POST→GETTidakAlur login, pengujian A/B, pemeliharaan
303 See OtherSementaraSelalu berubah ke GETTidakPola POST/Redirect/GET setelah pengiriman formulir
307 Temporary RedirectSementaraYa — dipertahankanTidakPengalihan sementara yang harus mempertahankan POST/PUT
308 Permanent RedirectPermanenYa — dipertahankanYaPengalihan permanen yang harus mempertahankan POST/PUT

Peringatan

Jangan pernah gunakan 302 untuk perpindahan permanen (mis. pergantian domain). Mesin pencari memperlakukan 302 sebagai sementara dan tidak mentransfer sinyal peringkat ke URL baru. Untuk perpindahan permanen, selalu gunakan 301 atau 308.

Rekomendasi modern: jika perlu pengalihan sementara dan ingin tidak ambigu soal penanganan metode, gunakan 307 alih-alih 302. Kode 307 ditambahkan di HTTP/1.1 justru karena browser secara historis melanggar spesifikasi dengan mengubah POST menjadi GET pada 302 — dan perilaku salah itu menjadi sangat luas hingga menjadi standar de facto.

Kapan Harus Menggunakan Pengalihan 302?

Gunakan kode status HTTP 302 setiap kali pengalihan benar-benar sementara — yaitu ketika Anda berencana menghapus atau mengubah target pengalihan di masa depan. Kasus penggunaan sah yang umum:

  • Pengalihan login — Mengirim pengguna belum diautentikasi dari /dashboard ke /login, lalu kembali setelah login

  • Pengujian A/B — Mengarahkan 50% pengguna ke varian tanpa mengubah URL kanonik

  • Halaman pemeliharaan — Mengalihkan semua lalu lintas sementara ke /maintenance saat menambal server

  • Routing geolokasi — Mengirim pengunjung dari / ke /id atau /us berdasarkan negara, sambil mempertahankan / sebagai entri kanonik

  • Pengalihan mobile — Mengalihkan pengguna smartphone dari example.com ke m.example.com (sekarang lebih disukai desain responsif)

  • Halaman produk habis stok — Mengirim pembeli ke kategori sampai produk kembali tersedia

  • URL promosi singkat — /black-friday mengalihkan ke landing kampanye hanya selama promo

Jika salah satunya menjadi permanen, beralih ke 301. Mesin pencari menunggu beberapa bulan sebelum memperlakukan 302 jangka panjang sebagai 301, jadi membiarkan perpindahan permanen di 302 menelan sinyal peringkat selama periode itu.

Advertisement

Cara Mengirim Kode Status 302

Kebanyakan web server dan framework punya helper bawaan untuk mengirim pengalihan 302. Berikut pola paling umum. Masing-masing menerbitkan HTTP 302 Found dengan header Location — dua satu-satunya hal yang benar-benar dibutuhkan respons 302.

Nginx

Di Nginx, gunakan direktif return dengan kode 302 (default jika kode dihilangkan juga 302):

nginx
server {
    listen 80;
    server_name example.com;

    # Pengalihan sementara (302 Found)
    location /old-page {
        return 302 https://example.com/new-page;
    }
}

Apache (.htaccess)

Di Apache, gunakan Redirect dengan kode 302 atau RewriteRule dengan flag [R=302,L]:

apache
# Pengalihan sementara sederhana
Redirect 302 /old-page https://example.com/new-page

# Atau dengan mod_rewrite untuk pencocokan pola
RewriteEngine On
RewriteRule ^maintenance$ /maintenance.html [R=302,L]

Node.js (Express)

Method res.redirect() Express default ke 302 jika tidak ada kode yang diberikan:

javascript
// Pengalihan sementara (default 302 Found)
app.get('/dashboard', (req, res) => {
  if (!req.user) {
    return res.redirect('/login') // mengirim 302
  }
  // ...render dashboard
})

// Atau eksplisit:
res.redirect(302, '/login')

Tips

Jika perlu mempertahankan metode permintaan (POST, PUT, DELETE), gunakan res.redirect(307, '/new-url') alih-alih 302. Browser menurunkan POST 302 menjadi GET — 307 mempertahankan metode asli.

Cara Menguji Kode Status 302

Setelah menerapkan pengalihan 302, verifikasi bahwa itu bekerja dengan benar. Cara tercepat adalah curl dari terminal — itu menunjukkan kode status dan header Location persis tanpa interferensi cache browser.

bash
# Tampilkan hanya header respons (-I) tanpa mengikuti pengalihan
curl -I https://example.com/old-page

# Output yang diharapkan:
# HTTP/2 302
# location: https://example.com/new-page
# cache-control: no-cache
# date: Mon, 27 Apr 2026 14:00:00 GMT

# Ikuti seluruh rantai (-L) dan tampilkan setiap hop
curl -ILs https://example.com/old-page | grep -i 'HTTP/\|location:'

Catatan

DevTools browser juga bekerja: buka tab Network, aktifkan Preserve log, dan muat URL. Setiap pengalihan muncul sebagai entri terpisah dengan kode status dan header Location. Ini cara termudah untuk men-debug rantai multi-hop.

Jika tidak punya akses terminal, gunakan Pemeriksa Pengalihan gratis dari DNS Robot untuk melacak seluruh rantai dari lokasi netral, atau Pemeriksa HTTP Headers untuk memeriksa header respons mentah — keduanya melewati cache browser.

Pengalihan 302 dan SEO

Kode status HTTP 302 memberi tahu mesin pencari: 'perpindahan ini sementara, simpan URL asli di indeks.' Itu memiliki konsekuensi langsung untuk sinyal peringkat.

Menurut Google Search Central, 302 tidak mentransfer sinyal peringkat dari URL asli ke target pengalihan seperti yang dilakukan 301. URL asli tetap kanonik. Google masih bisa mengindeks halaman target jika sinyal kanonisasi lain (link internal, sitemap, hreflang) menunjuk ke sana — tapi 302 itu sendiri bukan sinyal kanonik.

  • Gunakan 301 untuk perpindahan permanen — Pergantian domain, perubahan struktur URL, konsolidasi halaman

  • Gunakan 302 untuk perpindahan sementara — Alur login, pengujian A/B, pemeliharaan, routing regional

  • Jangan biarkan perpindahan permanen di 302 — Google menunggu berbulan-bulan sebelum memperlakukan 302 jangka panjang sebagai 301, menelan equity peringkat

  • Hindari rantai — A → 302 → B → 302 → C mengencerkan sinyal dan memperlambat pemuatan halaman. Setiap hop menambah latensi

Peringatan

Jika Anda melihat pengalihan 302 pada URL yang seharusnya berperingkat (homepage, landing page utama), audit dengan Pemeriksa Pengalihan DNS Robot. 302 yang salah konfigurasi pada perpindahan permanen bisa diam-diam membunuh peringkat.

Mengapa 302 Mengubah Permintaan POST Menjadi GET

Inilah perilaku paling mengejutkan dari HTTP 302. RFC asli menyatakan klien harus mempertahankan metode saat mengikuti pengalihan. Tapi browser awal — Mosaic, Netscape, IE — semua mengubah POST menjadi GET pada 302, dan perilaku salah itu menjadi sangat luas sehingga distandardisasi di WHATWG Fetch Standard.

Hari ini, ketika browser mengirim POST /login dan server merespons dengan 302 Found, browser otomatis mengirim GET /next-page ke target pengalihan. Data formulir hilang. Ini jarang menjadi maksud pengembang server.

http
# Yang Anda kirim:
POST /submit-form HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

name=Alice&email=alice@example.com

# Server merespons dengan 302:
HTTP/1.1 302 Found
Location: /thank-you

# Browser mengikuti dengan GET (data formulir hilang!):
GET /thank-you HTTP/1.1
Host: example.com

Tips

Aturan umum: GET → 302 oke, POST → 302 berisiko. Untuk pengiriman formulir, pilih 303 See Other (GET disengaja di halaman berikutnya) atau 307 Temporary Redirect (pertahankan POST).

Jika pengalihan perlu mempertahankan metode asli (POST tetap POST, PUT tetap PUT), gunakan 307 Temporary Redirect alih-alih 302. Jika sengaja ingin membuang body dan beralih ke GET — pola klasik POST/Redirect/GET — gunakan 303 See Other. Keduanya tidak ambigu; 302 ambigu.

Advertisement

Masalah 302 Umum dan Cara Memperbaikinya

Ketika HTTP 302 salah, biasanya muncul sebagai salah satu gejala ini. Sebagian besar memiliki solusi sederhana:

  • `Mendapat 302 alih-alih 200` — Server mengalihkan saat tidak seharusnya. Periksa .htaccess, konfigurasi Nginx atau middleware framework untuk aturan pengalihan yang tidak diinginkan

  • `302 tanpa header Location` — Respons tidak valid. Browser akan menampilkan halaman kosong. Pastikan kode Anda mengatur header Location sebelum mengirim status

  • `302 mengalihkan ke dirinya sendiri` — Loop pengalihan. URL Location cocok dengan URL permintaan. Periksa aturan untuk kondisi yang hilang

  • `302 menjatuhkan data formulir` — POST → 302 → GET menjatuhkan body. Beralih ke 307 Temporary Redirect untuk mempertahankan POST

  • `302 di-cache oleh browser` — Server buggy menyetel Cache-Control: max-age=... pada pengalihan. Tambahkan Cache-Control: no-cache dan bersihkan cache browser

  • `302 di production tapi tidak di local` — Biasanya CDN atau load balancer menambahkan pengalihan. Tes langsung ke origin untuk mengisolasi

Catatan

Jika 302 terjadi tak terduga, langkah debug tercepat adalah curl -I <url> langsung ke server origin Anda (melewati CDN). Jika origin mengembalikan 200 langsung, 302 sedang disuntikkan oleh CDN, proxy, atau load balancer.

Loop Pengalihan 302: Cara Mendiagnosis

Loop pengalihan terjadi ketika URL A mengembalikan 302 ke URL B, dan URL B mengembalikan 302 kembali ke A. Setelah 20 hop (di Chrome dan Firefox), browser menampilkan ERR_TOO_MANY_REDIRECTS dan menyerah.

Penyebab tunggal paling umum adalah konflik SSL/HTTPS antara CDN (seperti Cloudflare) dan server origin: CDN terhubung ke origin melalui HTTP, origin mengalihkan HTTP→HTTPS, CDN melepas HTTPS dan terhubung melalui HTTP lagi — loop tak hingga.

bash
# Lacak rantai lengkap (batasi 10 hop untuk menghindari loop tak hingga)
curl -ILs --max-redirs 10 https://example.com 2>&1 | grep -i 'HTTP/\|location:'

# Contoh loop:
# HTTP/2 302
# location: http://example.com/
# HTTP/1.1 302 Found
# Location: https://example.com/
# HTTP/2 302
# location: http://example.com/  <-- loop dikonfirmasi

Jika Anda melihat dua URL bergantian di header Location, Anda telah mengonfirmasi loop 302. Untuk panduan perbaikan lengkap, lihat post ERR_TOO_MANY_REDIRECTS. Pemeriksa Pengalihan DNS Robot melacak rantai lengkap dari lokasi netral dan berhenti di titik loop.

Praktik Terbaik Kode Status 302

Mengirim 302 Found dengan benar menghindari sebagian besar bug yang dihadapi pengembang saat mengimplementasikan pengalihan:

  • Selalu sertakan header Location — 302 tanpa Location tidak valid dan dirender sebagai halaman kosong

  • Selalu setel Cache-Control: no-cache — Jika tidak, beberapa browser men-cache pengalihan untuk sesi, melanggar kontrak 'sementara'

  • Gunakan URL absolut di Location — https://example.com/new tidak ambigu; /new bekerja tapi bisa rusak di belakang proxy yang mengubah host

  • Pertahankan pengalihan ke satu hop — A → 302 → B baik; A → 302 → B → 302 → C memperlambat pemuatan dan mengencerkan sinyal

  • Jangan alihkan dari POST ke halaman lain dengan 302 — Gunakan 303 (GET disengaja) atau 307 (pertahankan POST)

  • Audit pengalihan setiap bulan — Pengalihan sementara lama sering hidup melebihi alasannya. Periksa dengan Redirect Checker

  • Beralih ke 301 ketika perpindahan menjadi permanen — Jangan biarkan perpindahan permanen di 302 lebih dari beberapa minggu

Perilaku Browser dan Cache

Browser dan perantara berbeda menangani HTTP 302 sedikit berbeda. Mengetahui keanehannya menghemat waktu debugging:

KlienPerilaku Default pada 302Cache Default
Chrome / EdgeOtomatis ikuti, ubah POST→GETTidak di-cache kecuali header mengatakan demikian
FirefoxOtomatis ikuti, ubah POST→GETTidak di-cache kecuali header mengatakan demikian
SafariOtomatis ikuti, ubah POST→GETCache pengalihan sedikit lebih agresif
curl (default)TIDAK ikuti — tampilkan 302 + LocationTidak ada cache
curl -LIkuti hingga --max-redirs (default 50)Tidak ada cache
wget (default)Otomatis ikuti hingga --max-redirect=20Tidak ada cache
GooglebotIkuti, perlakukan sebagai sinyal sementaraCrawl ulang URL asli

Untuk memverifikasi perilaku pengalihan di kasus tepi (metode POST, loop tak hingga, keberadaan header), Pemeriksa HTTP Headers DNS Robot menampilkan respons mentah tanpa penulisan ulang metode di sisi browser. Baca lebih lanjut tentang pengalihan sementara di dokumentasi MDN dan spesifikasi RFC 9110.

Advertisement

Lacak rantai pengalihan dalam hitungan detik

Gunakan Pemeriksa Pengalihan gratis DNS Robot untuk memeriksa setiap hop dalam rantai pengalihan — kode status, header Location, dan tujuan akhir dari server netral (tanpa cache browser).

Coba Pemeriksa Pengalihan

Advertisement

Pertanyaan yang Sering Diajukan

Kode status 302 (HTTP 302 Found) berarti sumber daya yang diminta berada sementara di URL berbeda yang diberikan oleh header Location respons. Klien harus mengikuti pengalihan untuk permintaan ini tetapi tetap menggunakan URL asli untuk permintaan berikutnya. Ini adalah padanan sementara dari 301 Moved Permanently.

Alat Terkait

Redirect CheckerHTTP Headers CheckSSL Certificate CheckDNS Lookup

Artikel Terkait

ERR_TOO_MANY_REDIRECTS: Cara Memperbaikinya (Semua Browser)HTTP Error 503 Service Unavailable: Penyebab & Cara MemperbaikinyaHTTP Error 500 Internal Server Error: Penyebab & Cara Memperbaikinya403 Forbidden Error: Arti, Penyebab, dan Cara Mengatasinya

Daftar Isi

  • Apa Itu Kode Status HTTP 302?
  • Anatomi Respons 302
  • 302 vs 301 vs 307 vs 308: Pengalihan Mana yang Harus Digunakan?
  • Kapan Harus Menggunakan Pengalihan 302?
  • Cara Mengirim Kode Status 302
  • Cara Menguji Kode Status 302
  • Pengalihan 302 dan SEO
  • Mengapa 302 Mengubah Permintaan POST Menjadi GET
  • Masalah 302 Umum dan Cara Memperbaikinya
  • Loop Pengalihan 302: Cara Mendiagnosis
  • Praktik Terbaik Kode Status 302
  • Perilaku Browser dan Cache
  • Pertanyaan yang Sering Diajukan