คนใช้อินเทอร์เน็ตทุกคนน่าจะคุ้นเคยกันดีกับ Error หมายเลข 404 ที่ตามท้ายมาด้วยข้อความอย่าง Not Found บ้าง หรือ File Not Found บ้าง เคยสงสัยไหมว่า 404 คืออะไร? ทำไมต้อง 404? ติดตามกันเลยในบทความนี้
เชื่อมต่อมีปัญหา ก็ HTTP Error ไงล่ะ
การเชื่อมต่อเข้าสู่เว็บไซต์ในระบบเครือข่ายคอมพิวเตอร์โดยทั่วไปนั้นเกิดขึ้นผ่านโปรโตคอล HTTP หรือ Hypertext Transfer Protocol โดยเมื่อเราพิมพ์ที่อยู่ของเว็บไซต์ลงไปในเบราว์เซอร์ อุปกรณ์ของเราก็จะติดต่อเข้าหาเซิฟเวอร์ของเว็บไซต์ปลายทาง และหากไม่มีปัญหาอะไร เซิฟเวอร์ก็จะตอบและส่งข้อมูลกลับมาให้เห็นเป็นหน้าเว็บไซต์นั่นเอง
ทว่าในขั้นตอนการติดต่อกันระหว่างอุปกรณ์กับเซิฟเวอร์ ในบางครั้งก็เกิดปัญหาขึ้นทำให้เราไม่สามารถเข้าถึงเว็บไซต์ได้ โดยอาจจะเป็นปัญหาในคำขอที่ส่งไป ปัญหาในการติดต่อกับเซิฟเวอร์ หรือปัญหาของเซิฟเวอร์ปลายทาง แล้วเราจะรู้ได้อย่างไรว่าเกิดปัญหาอะไรขึ้น? ผู้พัฒนาโปรโตคอล HTTP เลยกำหนดมาตรฐานขึ้นเพื่ออธิบายสถานะการติดต่อต่างๆ รวมไปถึงข้อผิดพลาดที่เกิดขึ้น
สถานะการตอบกลับในโปรโตคอล HTTP หมวด 4xx คือหมวดหมู่สำหรับข้อผิดพลาดในส่วนของอุปกรณ์ที่ส่งคำร้องไป เช่น ข้อมูลคำร้องไม่ถูกต้องหรือไม่สามารถประมวลผลได้
และสถานะหมายเลข 404 Not Found ก็หมายถึงการที่เซิฟเวอร์ไม่สามารถหาไฟล์หรือหน้าเว็บไซต์ที่ร้องขอไปได้ โดยอาจจะไม่มีอยู่บนเซิฟเวอร์ หรือไม่เปิดสิทธิให้เข้าถึง
Error อื่นๆมีอะไรบ้าง
นอกจาก 404 Not Found แล้ว ยังมี Error อีกหลายรหัสในหมวด 4xx ที่น่าจะคุ้นตากันดี เช่น
- 400 Bad Request – เซิฟเวอร์ไม่สามารถประมวลข้อมูลที่ส่งไปพร้อมคำร้องได้ อาจจะเพราะรูปแบบข้อมูลที่ผิด ข้อมูลขนาดใหญ่เกินไป หรืออื่นๆ
- 401 Unauthorized – มีคำร้องเพื่อเข้าถึงทรัพยากรที่ต้องยืนยันตัวตน แต่ไม่ได้ส่งข้อมูลยืนยันตัวตนมาให้หรือยืนยันตัวตนไม่สำเร็จ
- 403 Forbidden – คล้ายๆกับ 401 แต่นอกจากการยืนยันตัวตนแล้วยังรวมไปถึงคำร้องในการทำบางอย่างที่ผู้ร้องไม่มีสิทธิทำ
หมวด 5xx เป็นหมวดหมู่สำหรับเลขสถานะที่เกิดข้อผิดพลาดบนฝั่งของเซิฟเวอร์ เช่น
- 500 Internal Server Error – เลขสถานะสารพัดประโยชน์ที่เอาไว้ใช้เวลาไม่มีเลขอื่นๆตรงตามเหตุที่เกิดขึ้น
- 502 Bad Gateway – เซิฟเวอร์ที่กำลังติดต่อไปหานั้นทำหน้าที่เป็น Gateway หรือ Proxy (ทางผ่าน) ให้กับเซิฟเวอร์อื่นและได้รับการตอบกลับที่มีข้อผิดพลาดหรือประมวลผลไม่ได้มา โดยเกิดขึ้นได้หลายกรณี เช่น เซิฟเวอร์มีคนเข้าใช้งานมากเกินไป ตั้งค่าผิด ข้อผิดพลาดจากเซิฟเวอร์อื่นๆที่ส่งมายังเซิฟเวอร์นี้ ปัญหาเครือข่าย เป็นต้น
- 503 Service Unavailable – เซิฟเวอร์ไม่สามารถรับคำร้องได้ อาจเพราะมีคำร้องเข้ามาเยอะเกินไปหรือเซิฟเวอร์กำลังปรับปรุง
- 504 Gateway Timeout – เซิฟเวอร์ที่กำลังติดต่อไปหานั้นทำหน้าที่เป็น Gateway หรือ Proxy (ทางผ่าน) ให้กับเซิฟเวอร์อื่นและไม่ได้รับการตอบกลับจากเซิฟเวอรืเบื้องหลังในเวลาที่กำหนด
อ่านเพิ่มเติมเกี่ยวกับ HTTP Status Code ทั้งหมดได้ที่นี่