นักพัฒนา

ค้นหารหัสสถานะ HTTP

ค้นหารหัสสถานะ HTTP ใดก็ได้ — 200, 404, 500 และทุกอย่างระหว่างนั้น — พร้อมคำอธิบายง่ายๆ ว่าหมายถึงอะไรและเมื่อใดที่เซิร์ฟเวอร์จะส่งกลับมา

เครื่องมือนี้ช่วยคุณได้ไหม?

ค้นหารหัสสถานะ HTTP คืออะไร?

รหัสสถานะ HTTP คือตัวเลขสามหลักที่เว็บเซิร์ฟเวอร์ส่งกลับมาพร้อมกับการตอบสนองทุกครั้ง เพื่อบอกไคลเอ็นต์ (เบราว์เซอร์ แอป หรือผู้ใช้ API) ว่าคำขอสำเร็จ ต้องเปลี่ยนเส้นทาง หรือล้มเหลว — และเพราะเหตุใด รหัสเหล่านี้ถูกกำหนดมาตรฐานโดย IETF และใช้เหมือนกันในทุกเว็บเซิร์ฟเวอร์ เบราว์เซอร์ และภาษาการเขียนโปรแกรม จึงเป็นหนึ่งในข้อมูลอ้างอิงสำหรับการดีบักที่เป็นสากลที่สุดในการพัฒนาซอฟต์แวร์ เครื่องมือค้นหานี้ครอบคลุมรหัสที่พบได้บ่อยที่สุดจากทั้งห้าหมวดหมู่ — ข้อมูลแจ้งเตือน (1xx) ความสำเร็จ (2xx) การเปลี่ยนเส้นทาง (3xx) ข้อผิดพลาดของไคลเอ็นต์ (4xx) และข้อผิดพลาดของเซิร์ฟเวอร์ (5xx) — พร้อมคำอธิบายง่ายๆ ว่าแต่ละรหัสหมายถึงอะไรในทางปฏิบัติจริง ไม่ใช่แค่นิยามตาม RFC อย่างเป็นทางการ

เมื่อไหร่ควรใช้เครื่องคำนวณนี้

  • ดีบักการเชื่อมต่อ API ที่คำขอไม่สำเร็จและคุณต้องเข้าใจว่ารหัสสถานะหมายถึงอะไรจริงๆ
  • ตัดสินใจว่ารหัสสถานะ HTTP ใดที่ API ของคุณเองควรส่งกลับสำหรับเงื่อนไขข้อผิดพลาดเฉพาะ
  • สอนหรือเรียนรู้พื้นฐาน HTTP ในหลักสูตรหรือค่ายฝึกอบรมการพัฒนาเว็บ
  • เขียนมิดเดิลแวร์จัดการข้อผิดพลาดที่ต้องแยกแยะระหว่างกรณี 4xx และ 5xx ที่แตกต่างกัน
  • สอบสวนว่าทำไมการเปลี่ยนเส้นทางไม่ทำงานโดยตรวจสอบว่าส่ง 301 หรือ 302 กลับมา
  • แก้ไขปัญหา CORS ที่เบราว์เซอร์แสดงข้อผิดพลาดเครือข่ายแต่เซิร์ฟเวอร์ส่ง 200 กลับมา

ขั้นตอน:

  1. พิมพ์รหัสสถานะ (เช่น 404) หรือคำสำคัญ (เช่น "forbidden") ลงในช่องค้นหา
  2. กรองตามหมวดหมู่โดยใช้ปุ่ม 1xx-5xx หากต้องการเรียกดูช่วงที่เฉพาะเจาะจง
  3. อ่านคำอธิบายง่ายๆ ว่ารหัสหมายถึงอะไรและเมื่อใดที่มักจะถูกส่งกลับ
  4. ใช้เป็นข้อมูลอ้างอิงด่วนขณะดีบักการตอบสนองของ 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

แนวคิดที่เกี่ยวข้อง

ตัวอย่าง

ค้นหา "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 ให้ตรวจสอบบันทึกของเซิร์ฟเวอร์แทนการตอบสนองฝั่งไคลเอ็นต์ เพราะรหัสสถานะเพียงอย่างเดียวแทบไม่เผยให้เห็นต้นเหตุ

คำถามที่พบบ่อย

ช่วงรหัสสถานะ HTTP แบบต่างๆ หมายความว่าอะไร?
รหัส 1xx เป็นข้อมูลแจ้งเตือน 2xx หมายถึงสำเร็จ 3xx หมายถึงการเปลี่ยนเส้นทาง 4xx หมายถึงไคลเอ็นต์ทำผิดพลาด (เช่น ขอหน้าที่ไม่มีอยู่) และ 5xx หมายถึงเซิร์ฟเวอร์เองไม่สามารถจัดการคำขอที่ถูกต้องได้
ความแตกต่างระหว่าง 401 และ 403 คืออะไร?
401 Unauthorized หมายความว่าคุณยังไม่ได้ยืนยันตัวตน (หรือข้อมูลประจำตัวของคุณไม่ถูกต้อง) — เซิร์ฟเวอร์ไม่รู้ว่าคุณเป็นใคร ส่วน 403 Forbidden หมายความว่าเซิร์ฟเวอร์รู้ว่าคุณเป็นใครแต่คุณไม่มีสิทธิ์เข้าถึงทรัพยากรนั้น
ทำไมบางครั้งฉันถึงเห็น 200 สำหรับหน้าที่โหลดไม่สำเร็จอย่างชัดเจน?
โดยปกติหมายถึงเซิร์ฟเวอร์ส่งการตอบสนอง HTTP ที่ถูกต้องกลับมา (จึงเป็น 200 OK) แต่เนื้อหาระดับแอปพลิเคชันของการตอบสนองนั้นอธิบายถึงข้อผิดพลาด — รูปแบบที่พบได้ทั่วไปใน API ที่ใส่รายละเอียดข้อผิดพลาดไว้ในเนื้อหาการตอบสนองแทนที่จะใส่ในรหัสสถานะ
ความแตกต่างระหว่างการเปลี่ยนเส้นทาง 301 และ 302 คืออะไร?
301 Moved Permanently บอกให้เบราว์เซอร์และเครื่องมือค้นหาอัปเดตบันทึกของตนและใช้ URL ใหม่ต่อไป ส่วน 302 Found หมายถึงการเปลี่ยนเส้นทางชั่วคราว — ควรใช้ URL เดิมสำหรับคำขอในอนาคต
429 Too Many Requests หมายความว่าอะไร?
429 หมายถึงไคลเอ็นต์ส่งคำขอมากเกินไปในช่วงเวลาที่กำหนด เซิร์ฟเวอร์อาจรวมส่วนหัว Retry-After เพื่อบอกไคลเอ็นต์ว่าควรลองใหม่เมื่อใด ควรใช้การถอยหลังแบบเอ็กซ์โปเนนเชียลเมื่อพบรหัสนี้
503 Service Unavailable คืออะไร?
503 หมายความว่าเซิร์ฟเวอร์ไม่สามารถจัดการคำขอได้ชั่วคราว โดยปกติเกิดจากภาระเกินหรือการบำรุงรักษา ต่างจาก 500 ตรงที่สถานการณ์นี้คาดว่าจะได้รับการแก้ไข เซิร์ฟเวอร์อาจรวมส่วนหัว Retry-After
418 I'm a Teapot หมายความว่าอะไร?
418 ถูกกำหนดขึ้นเป็นเรื่องเล่นวันเมษาหน้าโง่ใน RFC 2324 (1998) เป็นรหัสสถานะจริง แม้ไม่ค่อยได้ใช้ในทางปฏิบัติ เซิร์ฟเวอร์บางตัวส่งกลับมาเป็นการตอบแบบขำขันต่อคำขอที่ไม่ถูกต้อง
404 Not Found คืออะไร?
404 หมายความว่าเซิร์ฟเวอร์ไม่สามารถค้นหาทรัพยากรที่ร้องขอได้ เป็นข้อผิดพลาดฝั่งไคลเอ็นต์ที่พบบ่อยที่สุด อาจบ่งบอกถึงลิงก์เสีย URL ที่พิมพ์ผิด หรือทรัพยากรที่ถูกย้ายหรือลบไป
CORS เกี่ยวข้องกับรหัสสถานะอย่างไร?
คำขอ preflight ของ CORS (Cross-Origin Resource Sharing) จะส่งกลับ 204 No Content เมื่อสำเร็จ หากเซิร์ฟเวอร์ไม่ตอบกลับด้วยส่วนหัว CORS ที่ถูกต้อง เบราว์เซอร์จะบล็อกการตอบสนองแม้สถานะเป็น 200 ซึ่งจะแสดงเป็นข้อผิดพลาดเครือข่ายในคอนโซล
ฉันจะค้นหารหัสสถานะได้อย่างไร?
พิมพ์รหัสตัวเลข (เช่น 404) หรือคำสำคัญ (เช่น 'forbidden' หรือ 'timeout') ลงในช่องค้นหา คุณยังกรองตามหมวดหมู่ได้โดยใช้ปุ่ม 1xx–5xx เพื่อเรียกดูช่วงที่เฉพาะเจาะจง
การตอบสนอง 204 No Content คืออะไร?
204 หมายถึงคำขอสำเร็จแต่ไม่มีเนื้อหาที่ต้องส่งกลับ มักใช้หลังคำขอ DELETE ที่สำเร็จ สำหรับการตอบสนอง preflight ของ CORS หรือเมื่อ API รับข้อมูลโดยไม่ส่งเนื้อหากลับ

ค้นพบเครื่องมือเพิ่มเติม

คัดสรรใหม่จากคลังเครื่องมือทั้งหมดของเรา