รายการ 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 และประมวลผลเรียบร้อยไม่มีข้อผิดพลาดใดๆ

  • 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 ต้นทาง


อ้างอิง :

Sirichai Teerapattarasakul

ตั้ม — ศิริชัย ธีรภัทรสกุล

นักพัฒนาเว็บฟรีแลนซ์ตั้งแต่ปี 2547 รับพัฒนาเว็บไซต์ ระบบจัดการธุรกิจ และงาน Outsource / Sub-contract (WFH 100%)