Saya ingin tahu kode status HTTP apa yang paling sesuai untuk halaman "item tidak ada".
Jika halaman itu sendiri tidak ada, saya jelas akan menggunakan 404. Namun, salah satu halaman saya memiliki userid
argumen (ini adalah halaman "edit pengguna") dan jika tidak ada pengguna dengan ID pengguna yang diberikan, saya menampilkan halaman kesalahan, tetapi saya juga ingin mengirim tajuk status 4xx (karena "200 OK" tidak terlalu pas).
Saya kira 404 akan baik-baik saja karena itu "tidak ditemukan" dan bukan "file tidak ditemukan", tapi saya ingin tahu apakah ada kode yang lebih baik untuk kasus ini.
sumber
Kode pengembalian 404 sebenarnya berarti 'sumber daya tidak ditemukan', dan berlaku untuk entitas apa pun yang permintaannya dibuat tetapi tidak dipenuhi. Jadi, ia bekerja sama baiknya untuk halaman, subbagian halaman, dan item apa pun yang ada di halaman yang memiliki permintaan khusus untuk dirender.
Jadi 404 adalah kode yang tepat untuk digunakan dalam skenario ini. Perhatikan bahwa ini tidak berlaku untuk 'server tidak ditemukan', yang merupakan situasi berbeda di mana permintaan dikeluarkan tetapi tidak dijawab sama sekali, berlawanan dengan dijawab tetapi tanpa sumber daya yang diminta.
sumber
404 baik-baik saja. Definisi Kode Status HTTP / 1.1 dari RFC2616
sumber
Itu tergantung apakah userid adalah pengenal sumber daya atau parameter tambahan. Jika ya, maka tidak masalah untuk mengembalikan 404 jika tidak, Anda dapat mengembalikan kode lain seperti
400 (bad request) ‐ indicates a bad request
atau
412 (Precondition Failed) e.g. conflict by performing conditional update
Info lebih lanjut di InfoQ Explores gratis : buku REST .
sumber