400 Bad Request คืออะไรแก้ไขอย่างไร

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

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

400 Bad Request คืออะไร

400 Bad Request คือปัญหาหนึ่งในกลุ่ม 400 Family เกี่ยวข้องการการเรียกหน้าเว็บทางฝั่งผู้ใช้งาน (Client) แสดงผลผิดพลาดจากปัญหาใดปัญหาหนึ่ง ก่อนที่จะไปประมวลผลทางฝั่งของเซิฟเวอร์ (Server)

รูปแบบที่แสดงผล

  • HTTP Error 400
  • HTTP Error 400 – Bad Request
  • HTTP Status 400 – Bad Request
  • HTTP Error 400. The request hostname is invalid
  • 400 Bad Request
  • 400 Bad Request. Request Header Or Cookie Too Large
  • Bad Request – Error 400
  • Bad Request – Invalid URL

400 Bad Request เกิดจากสาเหตุใด

เหตุผลที่ทำให้เกิดปัญหา 400 Bad Request นั้นมีหลายอย่าง ไม่เฉพาะเจาะจงด้วยว่าเป็นเบราเซอร์หรือระบบปฏิบัติการใดๆ ดังนี้

  1. ข้อผิดพลาดจากไวยากรณ์ที่ใช้ใน URL (URL String Syntax Error)
  2. แคชและคุ้กกี้ของเบราเซอร์เสียหาย (Corrupted Browser Cache & Cookies)
  3. แคชของ DNS Lookup (DNS Lookup Cache)
  4. ไฟล์มีขนาดใหญ่เกินไป (File Size Too Large)
  5. ข้อผิดพลาดของเซิฟเวอร์ทั่วไป (Generic Server Error)

สาเหตุของ 400 Bad Request Error

1. ข้อผิดพลาดจากไวยากรณ์ที่ใช้ใน URL (URL String Syntax Error)

การเกิดข้อผิดพลาด 400 Bad Request สามารถเกิดขึ้นได้จากการพิมพ์ลิงก์ URL ผิด โดยใช้ไวยากรณ์ที่ผิดหรือมีตัวอักษรที่ผิด จะเห็นว่าเป็นข้อผิดพลาดที่ง่ายๆ ที่ทำให้เกิดการแสดงผลที่ผิดพลาด เพราะเมื่อเราพิมพ์ไวยากรณ์ผิดแล้วทำให้เกิดการประมวลผลไม่ได้

ตัวอย่างเช่น การที่มี % ในลิงก์ URL ที่เราพิมพ์ในเบราเซอร์ในลักษณะ

https://pantip.com/topic/%%32017179 จะเห็นว่า ในลิงก์นี้มีการใส่ %% ทำให้มีการเขียนไวยากรณ์ไม่ถูกต้อง ทำให้ลิงก์ดังกล่าวแสดงผลเป็น 400 Bad Request

2. แคชและคุ้กกี้ของเบราเซอร์เสียหาย (Corrupted Browser Cache & Cookies)

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

3. แคชของ DNS Lookup (DNS Lookup Cache)

สาเหตุถัดมาเกิดจาก เมื่อเราเข้าเว็บไซต์ข้อมูลแคช DNS ที่ถูกเก็บในเครื่องของเราไม่สามารถซิงค์กับข้อมูล DNS ที่ลงทะเบียนไว้ การเก็บแคช DNS (DNS Cache) จะมีลักษณะคล้ายกับการเก็บเบราเซอร์แคช (Browser Cache) ที่เก็บไฟล์ HTML, CSS, JavaScript หรือสื่อรูป วิดีโอต่างๆ

4. ไฟล์มีขนาดใหญ่เกินไป (File Size Too Large)

การเกิดปัญหา 400 Bad Request สามารถเกิดจากขนาดรูปที่มีขนาดใหญ่เกินไปในการอัปโหลดครับ ซึ่งรูปที่เราอัปโหลดขึ้นไปนั้นมีขนาดมากกว่าขนาดไฟล์ที่กำหนดไว้ของเซิฟเวอร์ (File size limit) ซึ่งแต่ละเซิฟเวอร์นั้นอาจจะมีการตั่งค่าที่แตกต่างกันไป

5. ข้อผิดพลาดของเซิฟเวอร์ทั่วไป (Generic Server Error)

ก่อนหน้านี้ทั้ง 4 ข้อ เป็นปัญหาที่เกิดจากทางลูกข่าย (Client-side) แต่ในบางครั้งปัญหา 400 Bad Request นั้นอาจจะเกิดจากทางฝั่งเซิฟเวอร์ได้ (Server-side) สาเหตุอาจเกิดจากปัญหาทั่วไปของเซิฟเวอร์ ข้อผิดพลาดของเซิฟเวอร์ (Server Glitch) หรือปัญหาชั่วคราวที่ไม่สามารถระบุได้

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

วิธีการแก้ไขปัญหา 400 Bad Request

จากสาเหตุของปัญหาข้างต้น ให้เราทำการเรียงลำดับการตรวจสอบและแก้ไขปัญหาไปทีละข้อว่าข้อใดเป็นปัญหา 400 Bad Request ของเครื่องของเรา ดังนี้

1. ตรวจสอบว่า URL ของเรามีการพิมพ์ผิดพลาดหรือไม่

ให้เราทำการตรวจสอบ URL ของเราว่า มีการพิมพ์ผิดหรือไม่ มีไวยากรณ์หรืออักขระที่ไม่ถูกต้องผสมอยู่ใน URL ดังกล่าวหรือไม่ ถ้ามีให้เอาออกแล้วทำการทดสอบการเข้าเว็บไซต์ของเราใหม่อีกครั้ง

2. ทำการเคลียร์เบราเซอร์แคช (Browser Cache) และคุ้กกี้ (Cookies)

ให้เราทำการเคลียร์เบราเซอร์แคช (Browser Cache) โดยมีวิธีการดังนี้

  • ไปที่จุดสามจุดด้านขวาบน Chrome ของเรา
  • ไปที่ More tools > Clear browsing data..
  • เมื่อกดเข้าไปแล้วให้ทำเครื่องหมายถูกหน้าช่อง Cache image and files และ Cookies and other site data
  • ทำการกดปุ่ม Clear data
  • ทำการเข้าเว็บไซต์ที่เราต้องการเพื่อทดสอบใหม่อีกครั้ง

3. ทำการเคลียร์ DNS Cache

การเคลียร์ DNS Cache ให้ดำเนินการตามนี้

  • ให้เข้าไปที่ Command Prompt ของ Windows โดยพิมพ์คำว่า cmd ที่ช่อง Search มุมซ้ายล่างของ Windows
  • ถ้ามีกล่องป๊อบอัพถามเรื่องสิทธิ Administrator ให้ใช้สิทธิที่เป็น Administrator
  • ให้พิมพ์ ipconfig /flushdns ที่ C:\Users\ชื่อเรา>ipconfig /flushdns
  • กด Enter
  • ทำการเข้าเว็บไซต์ที่เราต้องการ เพื่อทดสอบใหม่อีกครั้ง

4. แก้ไขขนาดไฟล์รูปที่ทำการอัพโหลด

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

5. ติดต่อผู้ดูแลเซิฟเวอร์เพื่อทำการแก้ไข

ในกรณีที่ปัญหา 400 Bad Request เกิดจากเซิฟเวอร์ ให้เราทำการติดต่อผู้ดูแลเซิฟเวอร์ของเว็บไซต์นั้นๆ เพื่อให้ดำเนินการแก้ไข ติดต่อเรา

ตัวอย่างหน้าตาการเกิดปัญหา 400 Bad Request

ปัญหา 400 Bad Request
ตัวอย่าง 400 Bad Request ในเบราเซอร์ Chrome

สรุปส่งท้าย

ปัญหา 400 Bad Request นี้ เป็นปัญหาที่เกิดจากทางฝั่ง Client เป็นส่วนใหญ่ เพราะเป็นการเรียกเว็บไซต์ไม่ถูกต้อง ทำให้การตอบสนองผ่านเซิฟเวอร์แสดงผลผิดพลาด ดังนั้นเมื่อเกิดปัญหาขึ้น เราควรจะไล่เรียงความน่าจะเป็นของปัญหาที่เกิดแล้วค่อยๆ แก้ไขไปทีละข้อ เช่น เรื่องการพิมพ์ URL ผิด ไปจนถึงขนาดของรูปที่ใหญ่เกินไปตามที่บทความนี้กล่าวไว้แล้ว หากยังไม่สามารถแก้ไขได้ให้ติดต่อผู้ดูแลเพื่อดำเนินการแก้ไขแทนนะครับ

หวังว่าบทความนี้จะช่วยพวกเราในการแก้ไขปัญหาได้ไม่มากก็น้อย ก็พบกันใหม่ในบทความถัดๆ ไปนะครับ สวัสดีครับ..

อ้างอิง https://shorturl.asia/pYalV