ทุกๆ ครั้ง ที่เราเข้าใช้งานเว็บไซท์ต่างๆ นั้น Server ของเว็บไซท์ที่เราเรียกใช้งาน จะมีการส่ง HTTP Status Code กลับมาให้ยังบราวเซอร์ของเรา เพื่อบอกถึงสถานะการทำงานของเว็บไซท์ ซึ่งหลายๆอย่าง เราจะเห็น Error อย่างเช่น 404 หรือ 500 บทความนี้ เราจะมาอธิบายความหมายของมันกันว่า รหัสเหล่านี้ คืออะไร?
HTTP Status Code จะแบ่งออกเป็นทั้งหมด 5 กลุ่ม ดังนี้
- 1xx: Informational
- 2xx: Success
- 3xx: Redirection
- 4xx: Client Error
- 5xx: Server Error5xx: Server Error
ในกลุ่ม 1xx ถึง 3xx นั้น เราแทบจะไม่ได้เห็น HTTP Status เหล่านี้เลย เพราะมันเป็นการส่งสถานะที่บ่งบอกถึงการทำงานปรกติ ทำให้จะไม่มีการแสดงสถานะเหล่านี้ออกมาให้เราเห็นนั้นเอง แต่สถานะที่เราจะเห็นบ้างเป็นบางครั้ง นั้นคือสถานะ 4xx ละ 5xx ที่จะบ่งบอกถึงความผิดปรกติที่เกิดขึ้นนั้นเอง
ความผิดปรกติของสถานะ 4xx Client Error
ในกลุ่มสถานะนี้ จะเป็นการแสดงสถานะผิดปรกติ จากฝังผู้ใช้งาน เช่น เรียกข้อมูลผิดพลาด ส่งข้อมูลไม่ถูกต้อง ไม่มีสิทธิ์เข้าถึง นั้นเอง โดยจะมีความหมายตามรหัสดังนี้
- 400 Bad Request
เป็นการส่งข้อมูลจากผู้ใช้ ไปยัง Server แบบไม่ถูกต้อง ผิดหลักไวยากรณ์ที่ Server กำหนดไว้ ก็จะทำให้เกิด Error 400 มาให้เราเห็น - 401 Unauthorized
เป็นการเข้ารหัสของ Server ถ้าผู้ใช้งานใส่รหัสไว้ไม่ถูกต้อง ก็จะเกิด Error 401 ให้เราเห็น แต่ทั้งนี้เป็นการเข้ารหัสด้วยไฟล์ .htpasswd ที่จะสร้างโดยผู้ดูแล Server จะไม่ใช้การแสดงรหัสผิดพลาดของการ Login เข้าระบบปรกติ ทำให้ไม่ใช่ทุกครั้ง ที่เรากรอก user และ password ผิด จะแสดงสถานะนี้ให้เราเห็นนั้นเอง - 403 Forbidden
เป็นการแสดงสถานะสิทธิ์การเข้าถึงไฟล์หรือโฟลเดอร์นั้นๆ ซึ่งผู้ดูแล Server จะกำหนดสิทธิ์ไม่ให้มีการเข้าถึงได้จากผู้ใช้ปรกติ ถ้ามีการกำหนดสิทธิ์ไว้ จะแสดงสถานะ Error 403 แสดงขึ้นมา - 404 Not Found
เป็นการแสดงถึงการ "ไม่มีอยู่" อยู่ไฟล์ หรือ โฟลเดอร์ ที่เราเรียกใช้ผ่าน URL นั้นเอง
ความผิดปรกติของสถานะ 5xx Internal Server Error
เป็นการแสดงสถานะผิดปรกติจากฝั่ง Server ที่กำลังทำงานผิดพลาด ไม่ใช่ความผิดพลาดของผู้เรียกใช้งานแต่อย่างใด โดยจะมีความหมายตามรหัสดังนี้
- 500 Internal Server Error
เป็นการแสดงสถานะความผิดปรกติของ Server ที่ทำงานอยู่ หมายถึง Server ดังกล่าว ไม่สามารถทำงาน หรือประมวลผลได้ โดยส่วนใหญ่ จะเกิดปัญหาจาก Error ของ Coding ที่ทางโปรแกรมเมอร์ได้ทำผิดพลาด ทำให้เกิดสถานะนี้ให้เราเห็นได้ - 502 Bad Gateway
เป็นการแสดงสถานะความผิดปรกติของ Gateway ที่เป็นเส้นทางเชื่อมต่อระหว่างผู้ใช้และ Server การแสดงสถานะนี้ จึงหมายความถึงความผิดปรกติของเส้นทางการเรียกใช้งานนั้นเอง - 503 Service Unavailable
สถานะความไม่พร้อมใช้งานของ Server เป็นสถานะที่แสดงถึงการทำงานของ Server ที่กำลังทำการปรับปรุง หรือการทำงานที่หนักเกินไป ทำให้ Server ไม่สามารถตอบสนองผู้ใช้ได้ จึงแสดงสถานะนี้ขึ้นมา - 504 Gateway Timeout
เป็นสถานะที่คล้ายกับ 502 แต่จะเป็นการแสดงสถานะเมื่อ มีการเรียกใช้งาน Server แต่ Server ตอบสนองกลับช้ากว่าที่ควร บราวเซอร์ของผู้ใช้งาน จะแสดงสถานะ 504 ขึ้นมาให้ทราบนั้นเอง
สรุปส่งท้าย
สถานะที่ได้กล่าวถึงไปทั้งหมดนั้น จะแสดงหน้าตาไม่เหมือนกัน ขึ้นอยู่กับบราวเซอร์ที่ใช้ หรือผู้จัดทำเว็บไซท์ดังกล่าวแก้ไขให้แสดงข้อมูลอย่างไรไว้ แต่อย่างน้อย เมื่อเราได้เห็น HTTP Status Code เหล่านี้ ก็จะทำให้เรารู้ว่า เราจะต้องแก้ไขสถานะการอย่างไรบ้างเมื่อเกิด HTTP Status Code ดังกล่าวขึ้น ซึ่งสถานะ 4xx เราสามารถแก้ไขเบื้องต้นได้ด้วยตัวเอง แต่ถ้าเป็นสถานะในกลุ่ม 5xx ก็ควรแจ้งให้ผู้ดูแลระบบของ Server นั้นๆ ทราบ เพื่อแก้ปัญหาต่อไปนั้นเอง