วันพฤหัสบดี, 2 พฤษภาคม 2567

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 กลุ่มตามเลขที่ขึ้นต้นดังนี้

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

 

Information Code: 1xx

 

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

 

100 – Continue

 

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

รูปภาพ

ที่มา: https://www.websitepulse.com/blog/uploads/2013/03/100.jpg

 

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 ไม่สามารถประมวลผลได้

รูปภาพ

ที่มา: http://www.zaphinath.com/http-error-400-bad-request/

 

401 – Unauthorized

 

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

รูปภาพ

ที่มา: https://code.tutsplus.com/tutorials/http-headers-for-dummies–net-8039

 

402 – Payment Required

 

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

 

403 – Forbidden

 

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

รูปภาพ

ที่มา: https://code.tutsplus.com/tutorials/http-headers-for-dummies–net-8039

 

404 – Not Found

 

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

รูปภาพ

ที่มา: https://www.hostinger.com/tutorials/fix-503-service-unavailable-error-in-wordpress/

 

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 เองไม่ทราบสาเหตุหรือไม่ทราบวิธีการจัดการกับข้อผิดพลาดดังกล่าว

รูปภาพ

ที่มา: https://code.tutsplus.com/tutorials/http-headers-for-dummies–net-8039

 

501 – Not Implemented

 

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

 

502 – Bad Gateway

 

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

 

503 – Service Unavailable

 

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

รูปภาพ

ที่มา: https://www.hostinger.com/tutorials/fix-503-service-unavailable-error-in-wordpress/

 

504 – Gateway Timeout

 

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

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

 

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

Reference:

Facebook Comments