เซิร์ฟเวอร์จำนวนมากที่ฉันจัดการจะส่งคืน HTTP 200 สำหรับคำขอที่ลูกค้าควรพิจารณาถึงความล้มเหลวโดยมี 'ความสำเร็จ: เท็จ' ในเนื้อความ
ดูเหมือนว่าฉันจะใช้รหัส HTTP ไม่ถูกต้องกับฉันโดยเฉพาะในกรณีของการตรวจสอบสิทธิ์ที่ล้มเหลว ฉันได้อ่านรหัสข้อผิดพลาด HTTP โดยสังเขปแล้วสรุปว่า '4xx' บ่งชี้ว่าไม่ควรทำคำขออีกครั้งจนกว่าจะมีการเปลี่ยนแปลงในขณะที่ '5xx' แสดงว่าคำขอนั้นอาจจะใช้งานได้หรืออาจไม่ถูกต้อง แต่ก็ไม่สำเร็จ ในกรณีนี้ 200: การเข้าสู่ระบบล้มเหลวหรือ 200: ไม่พบไฟล์นั้นหรือ 200: พารามิเตอร์ที่หายไป x ดูเหมือนผิดปกติ
ในทางกลับกันฉันเห็นการโต้แย้งว่า '4xx' ควรระบุปัญหาเชิงโครงสร้างของคำขอเท่านั้น ดังนั้นจึงเหมาะสมที่จะส่งคืน 200: ผู้ใช้ / รหัสผ่านไม่ดีแทนที่จะได้รับอนุญาต 401 เนื่องจากลูกค้าได้รับอนุญาตให้ทำการร้องขอ แต่มันเกิดขึ้นไม่ถูกต้อง อาร์กิวเมนต์นี้สามารถสรุปได้ว่าหากเซิร์ฟเวอร์สามารถประมวลผลคำขอและตัดสินใจได้ทั้งหมดรหัสการตอบสนองควรเป็น 200 และขึ้นอยู่กับลูกค้าที่จะตรวจสอบเนื้อหาสำหรับข้อมูลเพิ่มเติม
โดยทั่วไปดูเหมือนว่าจะเป็นเรื่องของการตั้งค่า แต่นั่นไม่น่าพอใจดังนั้นถ้าใครมีเหตุผลว่าทำไมหนึ่งในกระบวนทัศน์เหล่านี้ถูกต้องมากขึ้นฉันอยากจะรู้
success: false
แสดงว่าคำขอล้มเหลวและคุณทราบ นั่นควรเป็น 500 บางอย่างเช่นชื่อผู้ใช้ / รหัสผ่านที่ไม่ดีของคุณจะเป็น 401 สิ่งนี้ไม่ได้คลุมเครือ