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