Apa perbedaan antara 301 dan 302 dalam HTTP?

9

Saya melihat semua tinyurl suka menggunakan situs 302

Tapi apa bedanya? Sepertinya keduanya bekerja untuk saya

vps
sumber

Jawaban:

12

Status 301 (dipindahkan secara permanen) berarti sumber daya telah dipindahkan secara permanen ke lokasi baru. Klien (browser) harus menggunakan lokasi baru daripada yang lama di masa depan.

Status 302 (ditemukan) berarti sumber daya untuk sementara berada di tempat lain. Klien harus menggunakan lokasi yang diberikan untuk permintaan saat ini, tetapi di masa depan harus terus menggunakan lokasi yang lama.

Kedua kode status ini akan memiliki efek agar browser mengikuti arahan ulang. Anda harus memilih untuk menggunakan status 301 atau 302 tergantung pada apakah pengalihan itu permanen atau sementara.

Informasi lebih lanjut tentang kode respons HTTP ini dapat ditemukan di RFC 2616 .

Phil Ross
sumber
Bagaimana jika saya ingin membatalkan 301? Apakah itu di luar kendali karena tidak digunakan lagi?
vps
@vps Anda dapat membatalkan pengalihan 301, tetapi tidak ada jaminan klien akan meminta kembali URL asli. Jika Anda ingin dapat membatalkan pengalihan di masa depan, maka Anda mungkin lebih baik menggunakan 302.
Phil Ross
3

Ketika spider mesin pencari menemukan 301 kode status di tajuk respons halaman web, ia memahami bahwa halaman web ini tidak ada lagi, ia mencari header lokasi sebagai respons memilih URL baru dan mengganti URL yang diindeks dengan URL baru dan juga mentransfer pagerank .

Jadi mesin pencari menyegarkan semua URL yang diindeks yang tidak ada lagi (301 ditemukan) dengan URL baru, ini akan mempertahankan lalu lintas halaman web lama Anda, pagerank dan mengalihkannya ke yang baru (Anda tidak akan kehilangan lalu lintas halaman web lama Anda).

Browser: jika browser menemukan 301 kode status maka cache cache pemetaan lama dengan URL baru, klien / browser tidak akan mencoba untuk meminta lokasi asli tetapi menggunakan lokasi baru mulai sekarang sampai cache dihapus.

Ketika spider mesin pencari menemukan 302 status untuk sebuah halaman web, itu hanya akan mengarahkan sementara ke lokasi baru dan merayapi kedua halaman, URL halaman web yang lama masih ada dalam database mesin pencari dan selalu berusaha untuk meminta lokasi yang lama dan merangkak, yang klien / browser masih akan mencoba untuk meminta lokasi asli.

Baca lebih lanjut tentang cara menerapkannya di asp.net c # dan bagaimana dampaknya di mesin pencari - http://www.dotnetbull.com/2013/08/301-permanent-vs-302-tentara-status-code-code- aspnet-csharp-Implementation.html

Rohit
sumber