Awalnya hanya ada 302
| Response | What browsers should do |
|------------------------|---------------------------|
| 302 Found | Redo request with new url |
Idenya adalah:
- jika Anda melakukan
GETdi beberapa lokasi, Anda akan mengulangiGET ke URL baru
- jika Anda melakukan
POSTdi beberapa lokasi, Anda akan mengulangiPOST ke URL baru
- jika Anda melakukan
PUTdi beberapa lokasi, Anda akan mengulangiPUT ke URL baru
- jika Anda melakukan
DELETEdi beberapa lokasi, Anda akan mengulangiDELETE ke URL baru
- dll
Sayangnya setiap browser melakukan kesalahan. Saat mendapatkan 302, mereka akan selalu beralih ke GETURL baru, alih-alih mencoba kembali permintaan dengan kata kerja yang sama ( misalnya , POST):
- Mosaic melakukan kesalahan
- Netscape menyalin bug di Mosaic; jadi mereka salah
- Internet Explorer menyalin bug di Netscape; jadi mereka salah
Itu menjadi salah secara de facto .
Semua browser 302salah. Jadi 303dan 307diciptakan.
| Respon | Browser apa yang harus dilakukan | Apa yang sebenarnya dilakukan browser | | ------------------------ | ------------------------ --- | --------------------------- | | 302 Ditemukan | Ulangi permintaan dengan url baru | DAPATKAN dengan url baru | | 303 Lihat Lainnya | DAPATKAN dengan url baru | DAPATKAN dengan url baru | | 307 Redirect Sementara | Ulangi permintaan dengan url baru | Ulangi permintaan dengan url baru |
Dalam bentuk bagan
5 jenis pengalihan yang berbeda:
╔═══════════╤════════════════════════════════════════════════╗
║ │ Switch to GET? ║
║ Temporary │ No │ Yes ║
╠═══════════╪════════════════════════╪═══════════════════════╣
║ No │ 308 Permanent Redirect │ 301 Moved Permanently ║
╟───────────┼────────────────────────┼───────────────────────╢
║ Yes │ 307 Temporary Redirect │ 303 See Other ║
║ │ 302 Found (intended) │ 302 Found (actual) ║
╚═══════════╧════════════════════════╧═══════════════════════╝
Kalau tidak:
| Response | Switch to get? | Temporary? |
|--------------------------|----------------|------------|
| 301 Moved Permanently | No | No |
| 302 Found (intended) | No | Yes |
| 302 Found (actual) | Yes | Yes |
| 303 See Other | Yes | Yes |
| 307 Temporary Redirect | No | Yes |
| 308 Permanent Redirect | No | No |