HTTP Status Code

HTTP Status Code คือสถานะที่ Server ตอบสนองต่อ Request ที่ Client เรียกใช้งานเว็บไซต์ ซึ่งทำให้เราทราบได้ว่า ผลของการเรียกเว็บไซต์นั้น ๆ สำเร็จหรือไม่ หรือหากเรียกใช้งานเว็บไม่สำเร็จเกิดจากสาเหตุใด

HTTP Status Code ประกอบไปด้วยตัวเลขสามหลักซึ่งเป็น Code มาตรฐานที่แสดงผลลัพธ์ของการเรียกใช้งานเว็บ โดย HTTP Status Code จะประกอบไปด้วย 2 ส่วนคือ ตัวเลขแสดงสถานะของการ Request และคำอธิบายของตัวเลขนั้น ๆ เช่น 404: Page Not Found หรือ 200: OK เป็นต้น

# HTTP Status Code มีอะไรบ้าง

เราสามารถแบ่งกลุ่มของ HTTP Status Code ได้เป็น 5 กลุ่มตามเลขที่ขึ้นต้นดังนี้

  • Information Code: 1xx
  • Success Code: 2xx
  • Redirects Code: 3xx
  • Client Error Code: 4xx
  • Server Error Code: 5xx

# Information Code: 1xx

HTTP Status Code ในกลุ่มนี้เลขจะขึ้นต้นด้วย 1xx แสดงผลลัพธ์จากการที่ผู้ใช้งานส่ง Request ไปยัง Server ซึ่งการร้องขอดังกล่าวถูกประมวลผลและสามารถทำงานไปยัง Process ต่อไป

# 100 - Continue

หมายถึงการร้องขอหรือ Request ที่ผู้ใช้งานส่งไปยัง Server และทาง Server ประมวลผลสำเร็จ สามารถทำงานต่อไปยัง Process อื่นต่อไป

# 101 - Switching Protocol

หมายถึงการร้องของหรือ Request จากทางผู้ใช้งานต้องเปลี่ยนโปรโตคอลในการเรียกใช้งานเว็บไซต์ดังกล่าว

# 102 – Processing/Checkpoint

หมายถึงการเรียกร้องขอหรือเรียกใช้เว็บไซต์ดังกล่าวกำลังประมวลผลอยู่ที่ทางฝั่ง Server ซึ่ง Request ดังกล่าวอาจมี Sub Request เป็นจำนวนมากทำให้ต้องใช้เวลาในการ Process Request ดังกล่าว ด้วยวิธีดังกล่าวนี้จะช่วยป้องกันไม่ให้เกิด Timeout ระหว่างเรียกใช้งานเว็บไซต์

# Successful Code: 2xx

HTTP Status Code ในกลุ่มนี้เลขจะขึ้นต้นด้วย 2xx หมายถึงการร้องขอหรือ Request จากทางผู้ใช้ถูกส่งไปยัง Server เพื่อประมวลเรียบร้อยแล้วและไม่เกิด Error ขึ้นระหว่างการเรียกใช้เว็บไซต์

# 200 - OK

หมายถึงการส่ง Request หรือการเรียกเว็บไซต์ไปยัง Server สำเร็จและทาง Server ส่ง Response กลับมายังผู้ใช้งานเพื่อให้บริการเว็บไซต์ดังกล่าวได้ตาม HTTP Method ที่ผู้ใช้งานเรียกเช่น Get, Post, Put หรือ Trace

# 201 – Created

หมายถึงการเรียกใช้งานของ Client ไปยัง Server สำเร็จและมีการสร้างผลลัพธ์ใหม่จากการเรียกใช้งานดังกล่าว เช่นการเก็บข้อมูลของการเรียกใช้งานที่ Database

# 202 - Accepted

หมายถึงการร้องขอหรือRequest จากทาง Client ถูกส่งไปยัง Server แล้วแต่ยังอยู่ในขั้นตอนของการประมวลผลของ Server

# 203 - Non - Authoritative Information

หมายถึงการร้องขอหรือ Request จากทาง Client ถูกประมวลผลจากทาง Server สำเร็จแล้วและ Response ที่ตอบกลับมี Content หรือ Meta - Information ที่มาจากแหล่งอื่นร่วมอยู่ด้วย

# 204 - No Content

หมายถึงการร้องขอหรือ Request จากทาง Client ถูกประมวลผลจากทาง Server สำเร็จแล้วแต่ไม่มีการส่ง Content หรือเนื้อหาใด ๆ จากทาง Server

# 205 - Reset Content

หมายถึงการร้องขอหรือ Request จากทาง Client ถูกประมวลผลจากทาง Server เรียบร้อยแล้วแต่ไม่มีการส่ง Content หรือเนื้อหาใด ๆ จากทาง Server ซึ่งแตกต่างจาก HTTP Status 204 คือผู้เรียกใช้งานหรือ Client จำเป็นต้องReset Document View

# 206 - Partial Content

หมายถึงการร้องขอหรือ Request จากทาง Client ถูกประมวลผลจากทาง Server เรียบร้อยและทาง Server ได้ส่งข้อมูลกลับมาเพียงบางส่วนตามที่ผู้ใช้งานร้องขอไว้ใน Request Header

# Redirection Code: 3xx

HTTP Status Code ในกลุ่มนี้เลขจะขึ้นต้นด้วย 3xx หมายถึง Request จากผู้ใช้ถูกส่งไปยัง Server หรือถูกส่งต่อไปประมวลผลที่อื่น

# 300 - Multiple Choices

หมายถึงการร้องขอหรือ Request จากทาง Client เมื่อส่งไปยัง Server ทางผู้ใช้งานสามารถเลือกได้ว่าจะทำการ Redirect ไปที่ใดหรือสามารถระบุ Resource ที่ต้องการเรียกใช้งานได้

# 301 - Moved Permanently

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server จะถูก Redirect ไปยัง URL อื่นอย่างถาวรหรือทาง Server อาจส่ง URL อื่นตอบกลับไปยังทาง Client

# 302 - Found

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server จะถูก Redirect ไปยัง URL อื่นชั่วคราว

# 303 - See Other

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server อยู่ภายใต้ Domain อื่นโดย Server ต้องไปร้องขอ Resource ที่ URI อื่นด้วย HTTP Method GET

# 304 - Not Modified

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server นี้มีเนื้อหาที่ยังไม่ได้แก้ไขตั้งแต่การเรียกใช้ครั้งล่าสุด ซึ่งใช้สำหรับเก็บ Cache จากการเรียกใช้งาน ในอนาคตหากทาง Client ยังมีการส่ง Request ดังกล่าวอีกจะสามารถใช้ Response ที่เก็บไว้ใน Cache ได้

# Client Error Code: 4xx

HTTP Status Code ในกลุ่มนี้เลขจะขึ้นต้นด้วย 4xx หมายถึงการร้องขอหรือ Request จากผู้ใช้ถูกส่งไปยัง Server นั้นเกิดข้อผิดพลาดขึ้น ซึ่งปัญหาดังกล่าวเกิดจากทาง Client ทำให้ Server ไม่สามารถประมวลผล Request ดังกล่าวจากทาง Client ได้

# 400 - Bad Request

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server มีการส่งข้อมูลที่ไม่ถูกต้อง หรือทาง Server ไม่รู้จัก Request ดังกล่าวเช่น มีการส่ง Request ที่มี Syntax หรือ Body Request ที่ไม่ถูกต้องทำให้ Server ไม่สามารถประมวลผลได้

# 401 - Unauthorized

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server ไม่ได้มีการระบุตัวตนหรือไม่มีสิทธิในการเรียกใช้งาน ผู้ใช้งานจำเป็นต้องยืนยันตัวตนเสียก่อนจึงจะสามารถส่ง Request ไปยัง Server ได้

# 402 - Payment Required

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server มีค่าใช้จ่ายหรือมีค่าใช้จ่ายในอนาคต

# 403 - Forbidden

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server ไม่สามารถถูกประมวลผลได้เนื่องจากผู้ใช้งานไม่ได้รับสิทธิให้เข้าถึง Resource ดังกล่าว ซึ่งแตกต่างกับ HTTP Status 401 คือในกรณีนี้ทางผู้ใช้งานได้ยืนยันตัวเป็นที่เรียบร้อยแล้ว

# 404 - Not Found

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server แล้วแต่ไม่พบ Resource ดังกล่าวทำให้ Server ไม่สามารถส่ง Response กลับมายังผู้ใช้งานได้

# 405 - Method Not Allowed

หมายถึงการร้องขอหรือ Request จากทาง Client มีการเรียกใช้งานด้วย Request Method ที่ไม่ถูกต้องหรือทาง Server ไม่อนุญาตให้ใช้ Method ดังกล่าว ดังนั้นผู้ใช้งานจะไม่สามารถเข้าถึง Resource ที่ร้องขอได้

# 406 - Not Acceptable

หมายถึงการร้องขอหรือ Request จากทาง Client มีเนื้อหาหรือมี Content Header ที่ไม่ถูกต้องทำให้ Server ไม่สามารถตอบกลับได้

# 413 - Request Entity Too Large / Payload Too Large

หมายถึงการร้องขอหรือ Request จากทาง Client มีขนาดใหญ่เกินกว่าที่จะส่งไปยัง Server ได้

# 414 - Request URI Too Long

หมายถึงการร้องขอหรือ Request จากทาง Client มีขนาดของ URI ที่ยาวเกินไปทำให้ Server ไม่สามารถประมวลผลได้

# 415 - Unsupported Media Type

ความหมายคือ Server ไม่รองรับรูปแบบของข้อมูลหรือ Resource ที่ทาง Client ร้องขอ

# Server Error Code: 5xx

HTTP Status Code ในกลุ่มนี้เลขจะขึ้นต้นด้วย 5xx หมายถึงการร้องขอหรือ Request จากผู้ใช้ถูกส่งไปยัง Server นั้นเกิดข้อผิดพลาดขึ้น ซึ่งปัญหาดังกล่าวเกิดจากทาง Server ทำให้ไม่สามารถประมวลผล Request ดังกล่าวจากทาง Client ได้

# 500 - Internal Server Error

หมายถึงการร้องขอหรือ Request จากทาง Client ที่ส่งไปยัง Server นั้นมีข้อผิดพลาดเกิดขึ้นโดยที่ทาง Server เองไม่ทราบสาเหตุหรือไม่ทราบวิธีการจัดการกับข้อผิดพลาดดังกล่าว

# 501 - Not Implemented

หมายถึงทาง Server ไม่สามารถรองรับ Request Method ที่ถูกส่งมาจาก Client ได้

# 502 - Bad Gateway

ในขณะที่ Server ซึ่งทำหน้าที่เป็น Gateway หรือ Proxy เมื่อได้รับ Response ที่ไม่ถูกต้องจาก Server อื่นทำให้ไม่สามารถประมวลผลได้

# 503 - Service Unavailable

มีการเรียกใช้งานหรือร้องขอ Resource จากทาง Client มากเกินไปทำให้ Server ไม่สามารถตอบสนองต่อ Request ได้ทันหรือปัญหาดังกล่าวอาจเกิดจากมีการปรับปรุง Server

# 504 - Gateway Timeout

ในขณะที่ Server ซึ่งทำหน้าที่เป็น Gateway หรือ Proxy นั้นทาง Server ไม่สามารถรองรับการร้องขอ Resource จาก Client ได้ทันเวลา

# บทสรุปของ HTTP Status Code

HTTP Status Code เป็นความรู้พื้นฐานที่ผู้ใช้งานเว็บไซต์หรือผู้ที่ทำงานเกี่ยวข้องกับเว็บไซต์ควรทราบ โดยในมุมมองของผู้ใช้งานทั่วไปเมื่อเรียกใช้งาน Web Application และเกิดข้อผิดพลาดขึ้น Error Code จะแสดงให้ผู้ใช้ทราบว่าเกิดจากสาเหตุใด ในทางเดียวกันจากมุมมองของผู้พัฒนาเว็บไซต์สามารถเขียนแอปพลิเคชันให้สามารถทำงานได้สอดคล้องกับ HTTP Status Code ที่ตอบกลับมาจากทาง Server

บันทึกนี้คัดลอกจาก HTTP Status Code