รายการ HTTP Response Status Codes
Published on June 15, 2023
2 min read
บันทึก HTTP response status codes (มาตรฐานที่แสดงมาจากการตอบสนองของ Server) ที่ค่อนข้างใช้บ่อยในการพัฒนา RESTFul API โดยแยกเป็นหมวด ดังนี้
2xx Status Codes [Success]
หมายถึง Server ยอมรับได้รับคำขอจาก Client และประมวลผลเรียบร้อยไม่มีข้อผิดพลาดใดๆ
ประมวลผลสำเร็จเสร็จเรียบร้อย
ข้อมูลถูกสร้างหรือเพิ่มสำเร็จเสร็จเรียบร้อย
Server ได้รับการร้องขอ Request จาก Client แล้ว แต่ยังทำงานไม่เสร็จ
Server ได้ประมวลผลสำเร็จเสร็จเรียบร้อยแล้ว แต่ไม่ได้มีการตอบ Response Body กลับไป
3xx Status Codes [Redirection]
Request ถูกเปลี่ยนทิศทาง หรือถูกส่งไปประมวลผลที่อื่น
การร้องขอ Request จาก Client ถูก Redirect ไปยัง URL อื่นอย่างถาวร (Server อาจส่ง URL อื่นตอบกลับไปยังทาง Client)
การร้องขอ Request จาก Client ถูก Redirect ไปยัง URL อื่นชั่วคราว
สิ่งที่ร้องขอ Request ไม่มีการเปลี่ยนแปลงใดๆ ดังนั้นจึงไม่มีการร้องขอข้อมูลใหม่จากเซิฟเวอร์ อาจจะนำข้อมูลจากแคชตอบกลับไป
4xx Status Codes (Client Error)
เกิดปัญหาข้อผิดพลาดจากฝั่ง Client
Server ไม่เข้าใจการร้องขอที่ Client ส่งมา อาจเกิดจาก Request ผิดรูปแบบที่ต้องการ หรือค่าที่ส่งมาไม่ถูกต้อง
ไม่สามารถร้องขอเพื่อเข้าถึง Server ได้ เพราะ Client ยังไม่ได้ทำ Authenticate อาทิเช่น ยังไม่ได้เข้าสู่ระบบด้วย Username และ Password หรือไม่มีบัญชีสำหรับใช้งาน เป็นต้น
คล้ายกับ 401 แต่กรณีนี้ Server รู้ว่า Client เป็นมาจากเครื่องไหน แต่ไม่มีสิทธ์ในการเข้าถึงข้อมูลที่ต้องการ
ไม่พบ Resource, ข้อมูล หรือหน้าที่ร้องขอ ทำให้ Server ไม่สามารถส่ง Response กลับมายังผู้ใช้งานได้
การร้องขอ Request เรียกใช้งาน Request Method ไม่ถูกต้อง หรือทาง Server ไม่อนุญาตให้ใช้ Method ดังกล่าว
คำขอไม่สามารถดำเนินการได้ เพราะมีความขัดแย้งเกิดขึ้นกับ Resource เช่น มีการแก้ไขข้อมูลในขณะที่มีการอัปเดตข้อมูลพร้อมกันหลายรายการ
5xx Status Codes (Server Error)
เกิดปัญหาข้อผิดพลาดจากฝั่ง Server
เกิดการทำงานที่ไม่สมบูรณ์ขึ้นที่ Server ทำให้ไม่สามารถตอบสนองกลับได้
Server ที่ทำตัวเป็น Gateway หรือ Proxy ได้รับการตอบสนองที่ไม่ถูกต้องจาก Server ต้นทาง
Server ไม่สามารถรับบริการชั่วคราว อาจจะมาจากมีภาระการทำงานหนักเกินกว่าจะรับไหว หรืออยู่ในช่วงบำรุงรักษา
Server ที่ทำตัวเป็น Gateway หรือ Proxy ไม่ได้รับการตอบสนองภายในเวลาที่กำหนดจาก Server ต้นทาง
อ้างอิง :
ตั้ม — ศิริชัย ธีรภัทรสกุล
นักพัฒนาเว็บฟรีแลนซ์ตั้งแต่ปี 2547 รับพัฒนาเว็บไซต์ ระบบจัดการธุรกิจ และงาน Outsource / Sub-contract (WFH 100%)