HTTPQUERY
Bahasa Indonesia

302 Found

Penggunaan

Ketika kode status 302 Found diterima, klien memahami bahwa sumber daya yang diminta telah dipindahkan untuk sementara. Permintaan kedua akan mengambil sumber daya tersebut di lokasi barunya. Cara ini lebih sederhana dibandingkan 301 karena klien tidak diharapkan memperbarui tautan internalnya.

Catatan

Demi kompatibilitas mundur, klien diizinkan mengubah metode permintaan dari POST menjadi GET pada saat redirect. Untuk menghilangkan ambiguitas, server dapat mengembalikan kode status alternatif. Kode status 303 menandakan bahwa redirect harus menggunakan metode GET, sedangkan kode status 307 mengharuskan metode aslinya dipertahankan.

Pemicu umum respons 302 mencakup peningkatan dari HTTP ke HTTPS (sering kali lebih tepat dilayani dengan 301), normalisasi URL (garis miring di akhir), pengujian A/B, perutean konten berbasis geolokasi, dan redirect pemeliharaan sementara.

Catatan

302 adalah redirect yang berhasil, bukan sebuah error. Server menemukan sumber daya tersebut dan mengarahkan klien ke lokasi saat ini. Untuk mengatasi redirect 302 yang tidak diinginkan: pastikan redirect tersebut memang disengaja, ubah menjadi 301 bila perpindahannya permanen, dan periksa pengaturan CMS atau .htaccess untuk aturan yang tidak disengaja.

Kemampuan caching

Respons 302 secara bawaan tidak dapat di-cache. Tidak seperti 301 dan 308, 302 memerlukan header Cache-Control atau Expires secara eksplisit agar dapat disimpan oleh cache.

Dampak SEO

Google memperlakukan 302 sebagai sinyal lemah bahwa target redirect adalah URL yang diutamakan, berbeda dengan 301 yang merupakan sinyal kuat. Google memproses salah satu dari URL sumber atau URL target. 302 yang dibiarkan terpasang dalam jangka panjang pada akhirnya dapat diperlakukan sebagai redirect permanen, sehingga perubahan yang bersifat permanen lebih tepat dilayani dengan 301.

Contoh

Klien meminta sebuah sumber daya yang telah dipindahkan untuk sementara. Server menunjukkan lokasi barunya dan menyediakan pesan yang relevan untuk ditampilkan di sisi klien.

Permintaan

GET /news.html HTTP/1.1
Host: example.com

Respons

HTTP/1.1 302 Found
Location: http://example.com/testing/news.html
Content-Type: text/html
Content-Length: 167

<h1>The Newsfeed has moved</h1>
<body>
The site is under development and the newsfeed has
temporarily moved to
<a href=/testing/news.html>here</a>.
</body>

Referensi kode

.NET

HttpStatusCode.Found

Rust

http::StatusCode::FOUND

Rails

:found

Go

http.StatusFound

Symfony

Response::HTTP_FOUND

Python3.5+

http.HTTPStatus.FOUND

Java

java.net.HttpURLConnection.HTTP_MOVED_TEMP

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_MOVED_TEMPORARILY

Angular

@angular/common/http/HttpStatusCode.Found