หากการแยกวิเคราะห์คำขอไม่ถูกต้อง (รวมถึงเอนทิตีคำขอ / เนื้อหา) การตอบสนองที่เหมาะสมคือ400คำขอไม่ถูกต้อง[ 1 ]
RFC 4918ระบุว่า422 เอนทิตีที่ไม่สามารถประมวลผลได้มีผลบังคับใช้เมื่อเอนทิตีคำขอมีรูปแบบที่ดี แต่มีความผิดพลาดทางความหมาย ดังนั้นหากเอนทิตีคำขอถูกอ่านไม่ออก (เช่นรูปแบบอีเมลที่ไม่ดี) ให้ใช้ 400; แต่ถ้ามันไม่สมเหตุสมผล (เช่น@example.com
) ให้ใช้ 422
หากปัญหาคือว่ามีชื่อผู้ใช้ / อีเมลอยู่แล้วคุณสามารถใช้409 Conflict [ 2 ] พร้อมคำอธิบายความขัดแย้งและคำแนะนำเกี่ยวกับวิธีแก้ไข (ในกรณีนี้ "ให้เลือก ชื่อผู้ใช้ / อีเมลอื่น ") อย่างไรก็ตามในสเป็คตามที่เขียน403 Forbidden [ 3 ] ยังสามารถใช้ในกรณีนี้ข้อโต้แย้งเกี่ยวกับการอนุญาต HTTP แม้จะมี
412 Precondition Failed [ 4 ] ถูกใช้เมื่อส่วนหัวของคำขอการร้องขอล่วงหน้า (เช่นIf-Match
) ที่ไคลเอ็นต์กำหนดให้เป็นเท็จ นั่นคือลูกค้าขออะไรบางอย่างและให้เงื่อนไขเบื้องต้นโดยรู้ดีว่าเงื่อนไขเหล่านั้นอาจล้มเหลว 412 ไม่ควรที่จะผุดบนไคลเอนต์ออกจากสีฟ้าและไม่ควรจะเกี่ยวข้องกับการร้องขอกิจการต่อ se