ข้ามไปเนื้อหา

เอชทีทีพี 404

จากวิกิพีเดีย สารานุกรมเสรี
(เปลี่ยนทางจาก 404 error)

ข้อความระบุความผิดพลาด 404 หรือ Not Found เป็นรหัสตอบสนองมาตรฐานที่บ่งบอกว่าฝั่งไคลเอนต์สามารถติดต่อกับเซิร์ฟเวอร์ที่กำหนดได้ แต่เซิร์ฟเวอร์หาสิ่งที่ร้องขอไม่พบ

เซิร์ฟเวอร์เว็บไซต์โฮสติงจะสร้างเพจ "404 Not Found" เมื่อผู้ใช้พยายามเข้าถึงลิงก์เสีย ดังนั้นข้อผิดพลาด 404 จึงเป็นหนึ่งในข้อผิดพลาดที่จำง่ายที่สุดที่ผู้ใช้จะพบบนเว็บ[1]

คำอธิบาย

[แก้]

เมื่อมีการติดต่อผ่านทางเอชทีทีพี เซิร์ฟเวอร์ต้องตอบสนองกับการร้องขอ เช่นเว็บเบราว์เซอร์ส่งคำร้องขอเอกสารเอชทีเอ็มแอล (เว็บเพจ) ด้วยรหัสตอบสนองแบบตัวเลข และตัวเลือกข้อความว่าอนุญาตหรือไม่อนุญาต (ขึ้นอยู่กับรหัสสถานภาพ)

ตัวแรกของรหัส "4" หมายถึงความผิดพลาดทางไคลเอนต์ เช่น การพิมพ์ยูอาร์แอลผิด ตัวเลขที่ตามมาอีกสองตำแหน่ง "04" ระบุสาเหตุของความผิดพลาดที่พบ เอชทีทีพีใช้ระบบรหัสสามตัวในลักษณะนี้ซึ่งคล้ายคลึงกับรหัสที่ใช้ในโพรโทคอลก่อนหน้าอย่างเช่นเอฟทีพีและเอ็นเอ็นทีพี สำหรับรหัสตอบสนอง 404 จะตามด้วย "ข้อความระบุสาเหตุ" ซึ่งเอชทีทีพีใช้ข้อความ "Not Found"[2] และในหลายเว็บเซิร์ฟเวอร์จะกำหนดหน้าเพจเอชทีเอ็มแอลที่มีทั้งรหัส 404 และข้อความ "Not Found"

ความผิดพลาดแบบ 404 นี้มักพบในกรณีที่หน้าดังกล่าวถูกเคลื่อนย้ายหรือลบไป สำหรับในกรณีแรกการตอบสนองที่ดีที่สุดควรที่จะเป็น 301 Moved Permanently ซึ่งสามารถตั้งค่าได้ในไฟล์การตั้งค่าของเซิร์ฟเวอร์โดยส่วนใหญ่ หรือโดยการเปลี่ยนชื่อยูอาร์แอล สำหรับในกรณีที่สอง ควรจะตอบสนองด้วย 410 Gone แทน แต่เนื่องจากการทำให้เซิร์ฟเวอร์มีการตอบสนองทั้งสองกรณีตามที่กล่าวมาแล้ว ต้องใช้การตั้งค่าเซิร์ฟเวอร์พิเศษเพิ่มเติม ทำให้เว็บไซต์ส่วนใหญ่ไม่มีการใช้การตอบสนองทั้งสองแบบ

ความผิดพลาดแบบ 404 ไม่ควรนำไปสับสนกับความผิดพลาดของดีเอ็นเอสที่เกิดขึ้นเมื่อกรอกยูอาร์แอลไปยังชื่อเซิร์ฟเวอร์ที่ไม่มีอยู่ ความผิดพลาดแบบ 404 นั้นเป็นการระบุว่าพบเซิร์ฟเวอร์ แต่เซิร์ฟเวอร์ไม่สามารถเปิดหน้าที่ร้องขอได้

หน้าแสดงข้อผิดพลาดที่กำหนดเอง

[แก้]
ภาพหน้าจอของหน้าแสดงข้อผิดพลาด 404

เว็บเซิร์ฟเวอร์สามารถตั้งค่าให้แสดงผลแบบกำหนดเอง รวมไปถึงการระบุคำอธิบาย สัญลักษณ์ของเว็บหลักหรือในบางครั้งการใส่ช่องค้นหา สำหรับข้อความในระดับโพรโทคอล ซึ่งถูกซ่อนจากผู้ใช้ มักไม่ค่อยทำหน้าที่กำหนดเอง

ในกรณีของอินเทอร์เน็ตเอกซ์พลอเรอร์ (ก่อนหน้ารุ่น 7) จะไม่แสดงผลหน้าที่กำหนดเอง นอกจากว่าหน้าดังกล่าวจะมีขนาดมากกว่า 512 ไบต์ สำหรับกูเกิล โครมก็มีการแสดงผลที่คล้ายคลึงกัน โดยรหัส 404 ถูกแทนที่โดยหน้าที่แนะนำทางเลือกซึ่งสร้างขึ้นมาโดยขั้นตอนวิธีของกูเกิล ถ้าหน้าที่กำหนดเองมีขนาดน้อยกว่า 512 ไบต์

ปัญหาอีกอย่างที่พบคือถ้าเว็บเพจนั้นไม่มี favicon และมีหน้า 404 ที่กำหนดเอง จะมีการส่งถ่ายข้อมูลเพิ่มมากขึ้น และจะใช้เวลามากขึ้นในการเรียกหน้าดังกล่าว[3]

Soft 404

[แก้]

การดำเนินการใช้ข้อผิดพลาดแบบ 404 ปลอมเพื่อเป็นวิธีการปกปิดการตรวจพิจารณานั้นมีรายงานในประเทศไทย[4] และตูนิเซีย[5] ในตูนิเซีย ซึ่งมีรายงานว่ามีการตรวจพิจารณาอย่างรุนแรงนั้น ประชาชนได้เริ่มตระหนักรู้ถึงธรรมชาติของความผิดพลาดแบบ 404 ปลอมและได้สร้างตัวละครในจินตนาการที่มีชื่อว่า "อัมมาร์ 404" ซึ่งเป็นตัวแทนของ "การตรวจพิจารณาที่มองไม่เห็น"[6]

อ้างอิง

[แก้]
  1. "The 5 Most Common HTTP errors according to Google". Pingdom. 6 พฤษภาคม 2009. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2 มิถุนายน 2013. สืบค้นเมื่อ 14 มิถุนายน 2012.
  2. "6.1.1 Status Code and Reason Phrase". W3C. สืบค้นเมื่อ 22 มิถุนายน 2008.
  3. Christopher Heng (10 ตุลาคม 2018). "What is Favicon.ico and How to Create a Favicon Icon for Your Website".
  4. Sambandaraksa, Don (18 กุมภาพันธ์ 2009). "The old fake '404 Not Found' routine". Bangkok Post. สืบค้นเมื่อ 12 กันยายน 2010.
  5. Noman, Helmi (12 กันยายน 2010). "Tunisian journalist sues government agency for blocking Facebook, claims damage for the use of 404 error message instead of 403". Open Net Initiative. สืบค้นเมื่อ 21 พฤศจิกายน 2010.
  6. "Anti-censorship movement in Tunisia: creativity, courage and hope!". Global Voices Advocacy. 27 พฤษภาคม 2010. สืบค้นเมื่อ 28 สิงหาคม 2010.

ดูเพิ่ม

[แก้]