Beberapa artikel yang saya baca pernah mengatakan bahwa itu berarti melompat (dari satu URI ke URI lainnya), tetapi saya mendeteksi "302" ini bahkan ketika sebenarnya tidak ada lompatan sama sekali!
http
redirect
http-headers
http-status-code-302
Oh Tuhan
sumber
sumber
Jawaban:
Pengalihan 302 berarti halaman dipindahkan sementara, sedangkan 301 berarti dipindahkan secara permanen.
301 baik untuk nilai SEO, sedangkan 302 bukan karena 301 menginstruksikan klien untuk melupakan nilai URL asli, sedangkan 302 menyimpan nilai asli dan dengan demikian berpotensi mengurangi nilai dengan membuat dua, URL yang secara logis berbeda yang masing-masing menghasilkan konten yang sama (mesin telusur melihatnya sebagai duplikat berbeda, bukan sebagai sumber daya tunggal dengan dua nama).
sumber
Pertanyaan ini sudah lama ditanyakan, saat RFC 2616 masih berkeliaran. Beberapa jawaban atas pertanyaan ini didasarkan pada dokumen yang sudah tidak relevan lagi saat ini. Mengutip Mark Nottingham yang, pada saat penulisan, memimpin bersama Kelompok Kerja HTTP dan QUIC IETF:
RFC 2616 lama telah digantikan oleh dokumen berikut yang, bersama-sama, menentukan protokol HTTP / 1.1:
Jadi saya bertujuan untuk memberikan jawaban berdasarkan RFC 7231 yang merupakan referensi saat ini untuk kode status HTTP / 1.1.
The
302
kode statusTanggapan dengan
302
adalah cara umum melakukan pengalihan URL. Bersama dengan302
kode status, respons harus menyertakanLocation
header dengan URI berbeda. Header tersebut akan diurai oleh agen pengguna dan kemudian melakukan pengalihan:Browser web dapat berubah dari
POST
menjadiGET
dalam permintaan berikutnya. Jika perilaku ini tidak diinginkan,307
kode status (Pengalihan Sementara) dapat digunakan sebagai gantinya.Ini adalah bagaimana
302
kode status didefinisikan di RFC 7231 :Menurut dokumen web MDN dari Mozilla , kasus penggunaan tipikal untuk
302
adalah:Kode status lain untuk pengalihan
The RFC 7231 mendefinisikan kode status berikut untuk pengalihan:
301
(Pindah Permanen)302
(Ditemukan)307
(Pengalihan Sementara)The RFC 7238 diciptakan untuk mendefinisikan kode status lain untuk pengalihan:
308
(Pengalihan Permanen)Lihat jawaban ini untuk detail lebih lanjut.
sumber
Location
header adalah hal yang membantu saya). Ternyata saya menelepon layanan denganhttp
dan mereka pindah kehttps
, yang saya dapatkan sebagai tanggapan adalah302
, segera setelah saya membacaLocation
header di sini, saya melihathttp/https
perbedaannya. Terima kasih!Cara sederhana untuk melihat pengalihan HTTP 301 vs. 302 adalah:
Misalkan Anda memiliki bookmark ke " http://sample.com/sample ". Anda menggunakan browser untuk pergi ke sana.
Pengalihan 302 ke URL yang berbeda pada saat ini berarti Anda harus menyimpan bookmark Anda ke " http://sample.com/sample ". Ini karena URL tujuan mungkin berubah di masa mendatang.
Pengalihan 301 ke URL yang berbeda berarti bahwa bookmark Anda harus berubah untuk mengarah ke URL baru karena ini adalah pengalihan permanen.
sumber
Dari RFC 2616 (Spesifikasi Protokol Transfer Hiperteks) :
Sumber:
http://www.ietf.org/rfc/rfc2616.txt
sumber
Dari Wikipedia :
sumber
Sesuai definisi kode status http, 302 menunjukkan pengalihan (sementara). "Sumber daya yang diminta berada sementara di bawah URI yang berbeda"
sumber
302 adalah respons yang menunjukkan perubahan lokasi sumber daya - "Ditemukan".
Url tempat sumber daya seharusnya berada sekarang harus berada di tajuk 'Lokasi' respons.
"Lompatan" harus dilakukan oleh klien yang meminta (buat permintaan baru ke url sumber daya di bidang tajuk Lokasi respons).
sumber
Dalam hal SEO, 301 dan 302 keduanya bagus tergantung situasi,
Jika hanya satu versi yang dapat dikembalikan (yaitu, yang lain mengalihkan ke sana), itu bagus! Perilaku ini menguntungkan karena mengurangi konten duplikat. Dalam kasus tertentu pengalihan ke URL garis miring akhir, hasil penelusuran kami kemungkinan akan menampilkan versi URL dengan kode tanggapan 200 (paling sering URL garis miring) - terlepas dari apakah pengalihannya adalah 301 atau 302.
sumber
Kode HTTP 302 untuk pengalihan lihat http://en.wikipedia.org/wiki/HTTP_302 .
Ini memberitahu browsing membaca halaman untuk pergi ke tempat lain dan memuat halaman lain. Penggunaannya sangat umum.
sumber
Menurut RFC 1945 / Hypertext Transfer Protocol - HTTP / 1.0 :
sumber
CONTOH: - Meskipun tidak terlalu umum bahwa kami membutuhkan pengalihan 302, opsi ini bisa sangat berguna dalam beberapa kasus. Ini adalah kasus yang paling sering terjadi:
Pengalihan 302 adalah kode yang memberi tahu pengunjung URL tertentu bahwa halaman telah dipindahkan sementara, mengarahkan mereka langsung ke lokasi baru.
Dengan kata lain, pengalihan 302 diaktifkan saat robot Google atau mesin telusur lain meminta untuk memuat laman tertentu. Pada saat itu, berkat pengalihan ini, server mengembalikan respons otomatis yang menunjukkan URL baru.
Dengan cara ini kesalahan dan gangguan dihindari baik untuk mesin pencari dan pengguna, menjamin navigasi yang lancar.
Untuk lebih jelasnya Lihat Artikel ini .
sumber
Kode status 302 adalah kode status respons HTTP yang menunjukkan bahwa sumber daya yang diminta telah dipindahkan untuk sementara ke URI yang berbeda. Karena lokasi atau arahan pengalihan saat ini mungkin berubah di masa mendatang, klien yang menerima kode respons 302 Found harus terus menggunakan URI asli untuk permintaan di masa mendatang.
Respons HTTP dengan kode status ini juga akan memberikan URL di kolom header, Lokasi. Ini adalah undangan ke agen pengguna (misalnya browser web) untuk membuat permintaan kedua, jika tidak identik, ke URL baru yang ditentukan di bidang lokasi. Hasil akhirnya adalah pengalihan ke URL baru.
sumber
Bagi siapa pun yang mungkin ingin tahu tentang penamaannya, saya hanya akan menambahkan bahwa ini mungkin disebut "Ditemukan" karena sumber daya utama (misalnya, halaman web pribadi) yang ingin diterima pengguna tidak tersedia pada saat itu (misalnya, pengguna belum membuktikan identitasnya), jadi server telah menemukan sumber daya baru yang dapat diterima pengguna (yang merupakan laman masuk dalam kasus penggunaan paling umum).
Juga "tersesat dan ditemukan" dengan cara petak umpet, yang berarti sumber daya yang hilang dengan status 302 hanya hilang sementara , tidak seharusnya hilang selamanya (kecuali jika pemain memiliki niat buruk;)).
sumber