รายการ HTTP Response Status Codes
Sirichai Teerapattarasakul / June 15, 2023
2 min read
บันทึก HTTP response status codes (มาตรฐานที่แสดงมาจากการตอบสนองของ Server) ที่ค่อนข้างใช้บ่อยในการพัฒนา RESTFul API โดยแยกเป็นหมวด ดังนี้
2xx Status Codes [Success]
หมายถึง Server ยอมรับได้รับคำขอจาก Client และประมวลผลเรียบร้อยไม่มีข้อผิดพลาดใดๆ
200 OK
ประมวลผลสำเร็จเสร็จเรียบร้อย
201 Created
ข้อมูลถูกสร้างหรือเพิ่มสำเร็จเสร็จเรียบร้อย
202 Accepted
Server ได้รับการร้องขอ Request จาก Client แล้ว แต่ยังทำงานไม่เสร็จ
204 No Content
Server ได้ประมวลผลสำเร็จเสร็จเรียบร้อยแล้ว แต่ไม่ได้มีการตอบ Response Body กลับไป
3xx Status Codes [Redirection]
Request ถูกเปลี่ยนทิศทาง หรือถูกส่งไปประมวลผลที่อื่น
301 Moved Permanently
การร้องขอ Request จาก Client ถูก Redirect ไปยัง URL อื่นอย่างถาวร (Server อาจส่ง URL อื่นตอบกลับไปยังทาง Client)
302 Found
การร้องขอ Request จาก Client ถูก Redirect ไปยัง URL อื่นชั่วคราว
304 Not Modified
สิ่งที่ร้องขอ Request ไม่มีการเปลี่ยนแปลงใดๆ ดังนั้นจึงไม่มีการร้องขอข้อมูลใหม่จากเซิฟเวอร์ อาจจะนำข้อมูลจากแคชตอบกลับไป
4xx Status Codes (Client Error)
เกิดปัญหาข้อผิดพลาดจากฝั่ง Client
400 Bad Request
Server ไม่เข้าใจการร้องขอที่ Client ส่งมา อาจเกิดจาก Request ผิดรูปแบบที่ต้องการ หรือค่าที่ส่งมาไม่ถูกต้อง
401 Unauthorized
ไม่สามารถร้องขอเพื่อเข้าถึง Server ได้ เพราะ Client ยังไม่ได้ทำ Authenticate อาทิเช่น ยังไม่ได้เข้าสู่ระบบด้วย Username และ Password หรือไม่มีบัญชีสำหรับใช้งาน เป็นต้น
403 Forbidden
คล้ายกับ 401 แต่กรณีนี้ Server รู้ว่า Client เป็นมาจากเครื่องไหน แต่ไม่มีสิทธ์ในการเข้าถึงข้อมูลที่ต้องการ
404 Not Found
ไม่พบ Resource, ข้อมูล หรือหน้าที่ร้องขอ ทำให้ Server ไม่สามารถส่ง Response กลับมายังผู้ใช้งานได้
405 Method Not Allowed
การร้องขอ Request เรียกใช้งาน Request Method ไม่ถูกต้อง หรือทาง Server ไม่อนุญาตให้ใช้ Method ดังกล่าว
409 Conflict
คำขอไม่สามารถดำเนินการได้ เพราะมีความขัดแย้งเกิดขึ้นกับ Resource เช่น มีการแก้ไขข้อมูลในขณะที่มีการอัปเดตข้อมูลพร้อมกันหลายรายการ
5xx Status Codes (Server Error)
เกิดปัญหาข้อผิดพลาดจากฝั่ง Server
500 Internal Server Error
เกิดการทำงานที่ไม่สมบูรณ์ขึ้นที่ Server ทำให้ไม่สามารถตอบสนองกลับได้
502 Bad Gateway
Server ที่ทำตัวเป็น Gateway หรือ Proxy ได้รับการตอบสนองที่ไม่ถูกต้องจาก Server ต้นทาง
503 Service Unavailable
Server ไม่สามารถรับบริการชั่วคราว อาจจะมาจากมีภาระการทำงานหนักเกินกว่าจะรับไหว หรืออยู่ในช่วงบำรุงรักษา
504 Gateway Timeout
Server ที่ทำตัวเป็น Gateway หรือ Proxy ไม่ได้รับการตอบสนองภายในเวลาที่กำหนดจาก Server ต้นทาง