ค้นหารหัสสถานะ HTTP คืออะไร?
รหัสสถานะ HTTP คือตัวเลขสามหลักที่เว็บเซิร์ฟเวอร์ส่งกลับมาพร้อมกับการตอบสนองทุกครั้ง เพื่อบอกไคลเอ็นต์ (เบราว์เซอร์ แอป หรือผู้ใช้ API) ว่าคำขอสำเร็จ ต้องเปลี่ยนเส้นทาง หรือล้มเหลว — และเพราะเหตุใด รหัสเหล่านี้ถูกกำหนดมาตรฐานโดย IETF และใช้เหมือนกันในทุกเว็บเซิร์ฟเวอร์ เบราว์เซอร์ และภาษาการเขียนโปรแกรม จึงเป็นหนึ่งในข้อมูลอ้างอิงสำหรับการดีบักที่เป็นสากลที่สุดในการพัฒนาซอฟต์แวร์
เครื่องมือค้นหานี้ครอบคลุมรหัสที่พบได้บ่อยที่สุดจากทั้งห้าหมวดหมู่ — ข้อมูลแจ้งเตือน (1xx) ความสำเร็จ (2xx) การเปลี่ยนเส้นทาง (3xx) ข้อผิดพลาดของไคลเอ็นต์ (4xx) และข้อผิดพลาดของเซิร์ฟเวอร์ (5xx) — พร้อมคำอธิบายง่ายๆ ว่าแต่ละรหัสหมายถึงอะไรในทางปฏิบัติจริง ไม่ใช่แค่นิยามตาม RFC อย่างเป็นทางการ
เมื่อไหร่ควรใช้เครื่องคำนวณนี้
- ดีบักการเชื่อมต่อ API ที่คำขอไม่สำเร็จและคุณต้องเข้าใจว่ารหัสสถานะหมายถึงอะไรจริงๆ
- ตัดสินใจว่ารหัสสถานะ HTTP ใดที่ API ของคุณเองควรส่งกลับสำหรับเงื่อนไขข้อผิดพลาดเฉพาะ
- สอนหรือเรียนรู้พื้นฐาน HTTP ในหลักสูตรหรือค่ายฝึกอบรมการพัฒนาเว็บ
- เขียนมิดเดิลแวร์จัดการข้อผิดพลาดที่ต้องแยกแยะระหว่างกรณี 4xx และ 5xx ที่แตกต่างกัน
- สอบสวนว่าทำไมการเปลี่ยนเส้นทางไม่ทำงานโดยตรวจสอบว่าส่ง 301 หรือ 302 กลับมา
- แก้ไขปัญหา CORS ที่เบราว์เซอร์แสดงข้อผิดพลาดเครือข่ายแต่เซิร์ฟเวอร์ส่ง 200 กลับมา
ขั้นตอน:
- พิมพ์รหัสสถานะ (เช่น 404) หรือคำสำคัญ (เช่น "forbidden") ลงในช่องค้นหา
- กรองตามหมวดหมู่โดยใช้ปุ่ม 1xx-5xx หากต้องการเรียกดูช่วงที่เฉพาะเจาะจง
- อ่านคำอธิบายง่ายๆ ว่ารหัสหมายถึงอะไรและเมื่อใดที่มักจะถูกส่งกลับ
- ใช้เป็นข้อมูลอ้างอิงด่วนขณะดีบักการตอบสนองของ API หรือสร้างการจัดการข้อผิดพลาด
สูตร
1xx: ข้อมูลแจ้งเตือน — ได้รับคำขอแล้ว กำลังดำเนินการต่อ
2xx: สำเร็จ — ได้รับและยอมรับคำขอสำเร็จแล้ว
3xx: การเปลี่ยนเส้นทาง — จำเป็นต้องดำเนินการเพิ่มเติมเพื่อทำคำขอให้เสร็จสิ้น
4xx: ข้อผิดพลาดของไคลเอ็นต์ — คำขอมีไวยากรณ์ไม่ถูกต้องหรือไม่สามารถดำเนินการได้
5xx: ข้อผิดพลาดของเซิร์ฟเวอร์ — เซิร์ฟเวอร์ไม่สามารถจัดการคำขอที่ถูกต้องได้
กรณีใช้งาน
- ทำความเข้าใจรหัสสถานะที่ไม่คุ้นเคยที่ส่งกลับจาก API ที่คุณกำลังเชื่อมต่อได้อย่างรวดเร็ว
- ตัดสินใจว่ารหัสสถานะใดที่ API ของคุณเองควรส่งกลับสำหรับเงื่อนไขข้อผิดพลาดที่กำหนด
- ดีบักว่าทำไมคำขอจึงล้มเหลวโดยตรวจสอบว่ารหัสเฉพาะนั้นหมายถึงอะไรจริงๆ
- สอนหรือเรียนรู้พื้นฐาน HTTP ในหลักสูตรการพัฒนาเว็บ
- เขียนตรรกะการจัดการข้อผิดพลาดที่แม่นยำซึ่งแยกแยะระหว่างกรณี 4xx และ 5xx ที่แตกต่างกัน
ประโยชน์หลัก
- รหัสสถานะที่ใช้บ่อยทั้งหมดรวมอยู่ในข้อมูลอ้างอิงที่ค้นหาได้เดียว
- คำอธิบายง่ายๆ ไม่ใช่แค่ถ้อยคำ RFC อย่างเป็นทางการ
- กรองตามหมวดหมู่ได้ทันที (ตั้งแต่ 1xx ถึง 5xx)
- ฟรี รวดเร็ว ไม่ต้องสมัครสมาชิก
เคล็ดลับ
- สงวนรหัส 5xx ไว้สำหรับความล้มเหลวฝั่งเซิร์ฟเวอร์เท่านั้น — อย่าใช้เพื่อบอกข้อผิดพลาดการป้อนข้อมูลของไคลเอ็นต์เด็ดขาด
- ใช้ 429 พร้อมส่วนหัว Retry-After เมื่อจำกัดอัตราการส่ง เพื่อให้ไคลเอ็นต์ที่ปฏิบัติตามรู้ว่าเมื่อใดควรลองใหม่
- เลือกใช้ 404 แทนหน้าแสดงข้อผิดพลาดทั่วไปเมื่อทรัพยากรไม่มีอยู่จริง — ดีกว่าทั้งสำหรับผู้ใช้และเครื่องมือค้นหา
- เมื่อออกแบบ API ให้เลือกใช้รหัส 4xx เฉพาะ (422, 409, 400) แทนที่จะตั้งค่าเริ่มต้นเป็น 400 ทั่วไปสำหรับทุกอย่าง
ข้อผิดพลาดที่พบบ่อย
- ส่ง 200 OK สำหรับคำขอที่จริงแล้วล้มเหลว ทำให้ซ่อนข้อผิดพลาดจากเครื่องมือตรวจสอบ
- สับสนระหว่าง 401 (ไม่ได้ยืนยันตัวตน) กับ 403 (ยืนยันตัวตนแล้วแต่ไม่มีสิทธิ์)
- ใช้ 302 สำหรับการเปลี่ยนเส้นทางที่ควรเป็นแบบถาวร (301) ซึ่งทำลาย SEO
- จัดการข้อผิดพลาด 4xx และ 5xx ทั้งหมดเหมือนกันในฝั่งไคลเอ็นต์ แทนที่จะแยกตามรหัสเฉพาะ
คำศัพท์สำคัญ
- บรรทัดสถานะ: บรรทัดแรกของการตอบสนอง HTTP ประกอบด้วยรหัสสถานะและวลีเหตุผลสั้นๆ
- Idempotent: คุณสมบัติของเมธอด HTTP บางอย่างที่การส่งคำขอเดิมซ้ำให้ผลเช่นเดียวกับการส่งเพียงครั้งเดียว
- ห่วงโซ่การเปลี่ยนเส้นทาง: ลำดับของการเปลี่ยนเส้นทางหลายครั้งที่เบราว์เซอร์ตามก่อนถึงทรัพยากรสุดท้าย
- การจำกัดอัตรา: การจำกัดจำนวนคำขอที่ไคลเอ็นต์สามารถส่งได้ในช่วงเวลาที่กำหนด มักระบุด้วยรหัส 429
แนวคิดที่เกี่ยวข้อง
- ตัวจัดรูปแบบ JSON:
- ตัวตรวจสอบ JSON:
- ตัวทดสอบ Regex:
- ตัวเข้ารหัส/ถอดรหัส URL:
- ตัวเข้ารหัส/ถอดรหัส Base64:
ตัวอย่าง
ค้นหา "429" จะได้ "Too Many Requests" — รหัสที่ API ส่งกลับเมื่อคุณเกินขีดจำกัดอัตราการส่ง บอกให้คุณชะลอและลองใหม่หลังจากรอช่วงหนึ่ง
การตีความผลลัพธ์
รหัสสถานะ HTTP ถูกจัดกลุ่มเป็นห้าประเภทตามเลขหลักแรก 1xx เป็นข้อมูลแจ้งเตือนและไม่ค่อยพบในโค้ดแอปพลิเคชัน 2xx ยืนยันความสำเร็จ — 200 OK พบบ่อยที่สุด แต่ 201 Created และ 204 No Content ก็พบบ่อยใน REST API เช่นกัน 3xx จัดการการเปลี่ยนเส้นทาง โดย 301 (ถาวร) และ 302 (ชั่วคราว) สำคัญที่สุด
ข้อผิดพลาด 4xx หมายถึงมีบางอย่างผิดปกติกับคำขอของไคลเอ็นต์ ที่พบบ่อยที่สุดคือ 400 Bad Request (ไวยากรณ์ผิดรูป) 401 Unauthorized (ไม่ได้ยืนยันตัวตน) 403 Forbidden (ไม่มีสิทธิ์) 404 Not Found (ทรัพยากรไม่มีอยู่) และ 429 Too Many Requests (เกินขีดจำกัดอัตราการส่ง) การใช้รหัส 4xx เฉพาะอย่างถูกต้องทำให้ API ของคุณดีบักง่ายกว่าการส่ง 400 ทั่วไปสำหรับทุกอย่างมาก
ข้อผิดพลาด 5xx หมายความว่าเซิร์ฟเวอร์ล้มเหลว 500 เป็นข้อผิดพลาดภายในทั่วไป 502 Bad Gateway ระบุปัญหาที่เซิร์ฟเวอร์ต้นทาง และ 503 Service Unavailable มักหมายถึงเซิร์ฟเวอร์รับภาระเกินหรือปิดซ่อมบำรุง เมื่อดีบักข้อผิดพลาด 5xx ให้ตรวจสอบบันทึกของเซิร์ฟเวอร์แทนการตอบสนองฝั่งไคลเอ็นต์ เพราะรหัสสถานะเพียงอย่างเดียวแทบไม่เผยให้เห็นต้นเหตุ

