tigtools

รหัสสถานะ HTTP

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

ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องสมัคร

แสดง 79 รหัส

  • 100 Continue

    เซิร์ฟเวอร์ได้รับส่วนหัวของคำขอแล้ว และลูกค้าสามารถส่งเนื้อหาคำขอได้ มักพบเมื่อลูกค้าส่ง “Expect: 100-continue” ก่อนอัปโหลดเนื้อหาขนาดใหญ่

    กำหนดไว้ใน RFC 9110

  • 101 Switching Protocols

    เซิร์ฟเวอร์ยอมเปลี่ยนไปใช้โปรโตคอลที่ลูกค้าระบุในส่วนหัว Upgrade มักพบเมื่ออัปเกรดการเชื่อมต่อเป็น WebSocket

    กำหนดไว้ใน RFC 9110

  • 102 Processing

    เลิกใช้หรือไม่ได้ใช้งานแล้ว

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

    กำหนดไว้ใน RFC 2518

  • 103 Early Hints

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

    กำหนดไว้ใน RFC 8297

  • 200 OK

    คำขอสำเร็จและการตอบกลับมีผลลัพธ์ โดยปกติจะได้รับรหัสนี้เมื่อโหลดหน้าเว็บหรือเรียก API สำเร็จ

    กำหนดไว้ใน RFC 9110

  • 201 Created

    คำขอสำเร็จและสร้างทรัพยากรใหม่ โดยปกติระบุทรัพยากรนั้นด้วยส่วนหัว Location มักพบหลังส่ง POST เพื่อสร้างระเบียนสำเร็จ

    กำหนดไว้ใน RFC 9110

  • 202 Accepted

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

    กำหนดไว้ใน RFC 9110

  • 203 Non-Authoritative Information

    คำขอสำเร็จ แต่พร็อกซีที่แปลงเนื้อหาได้แก้ไขเนื้อหาที่ส่งกลับจากเซิร์ฟเวอร์ต้นทาง

    กำหนดไว้ใน RFC 9110

  • 204 No Content

    คำขอสำเร็จและไม่มีเนื้อหาที่ต้องส่งกลับ มักใช้กับคำขอ DELETE และการบันทึกข้อมูลเมื่อไคลเอนต์ไม่ต้องการเนื้อหาการตอบกลับ

    กำหนดไว้ใน RFC 9110

  • 205 Reset Content

    คำขอสำเร็จและไคลเอนต์ควรรีเซ็ตมุมมองเอกสาร เช่น ล้างแบบฟอร์ม รหัสนี้พบได้น้อย

    กำหนดไว้ใน RFC 9110

  • 206 Partial Content

    เซิร์ฟเวอร์ส่งกลับเฉพาะช่วงไบต์ที่ไคลเอนต์ร้องขอ มักพบเมื่อสตรีมวิดีโอ ดาวน์โหลดต่อจากจุดที่ค้างไว้ หรือไคลเอนต์ส่งส่วนหัว Range

    กำหนดไว้ใน RFC 9110

  • 207 Multi-Status

    การตอบกลับ WebDAV ที่มีรหัสสถานะแยกกันสำหรับทรัพยากรหลายรายการในเนื้อหา XML

    กำหนดไว้ใน RFC 4918

  • 208 Already Reported

    ใช้ภายในการตอบกลับ WebDAV 207 เพื่อไม่ให้แสดงสมาชิกของทรัพยากรที่ผูกไว้ซ้ำ

    กำหนดไว้ใน RFC 5842

  • 226 IM Used

    เซิร์ฟเวอร์ปรับเปลี่ยนทรัพยากรปัจจุบัน เช่น ใช้การเข้ารหัสแบบ delta พบได้น้อยมาก

    กำหนดไว้ใน RFC 3229

  • 300 Multiple Choices

    ทรัพยากรมีหลายรูปแบบให้เลือก และไคลเอนต์ควรเลือกหนึ่งรูปแบบ ในทางปฏิบัติพบได้น้อย

    กำหนดไว้ใน RFC 9110

  • 301 Moved Permanently

    ทรัพยากรถูกย้ายถาวรไปยัง URL ที่ระบุในส่วนหัว Location เบราว์เซอร์และเครื่องมือค้นหาจะอัปเดตลิงก์ โดยไคลเอนต์บางประเภทจะเปลี่ยน POST เป็น GET เมื่อเปลี่ยนเส้นทางตามรหัสนี้

    กำหนดไว้ใน RFC 9110

  • 302 Found

    ทรัพยากรอยู่ที่ URL อื่นชั่วคราวตามที่ระบุในส่วนหัว Location มักใช้หลังเข้าสู่ระบบหรือเปลี่ยนเส้นทางระยะสั้น โดยทั่วไปเบราว์เซอร์จะตามไปด้วย GET

    กำหนดไว้ใน RFC 9110

  • 303 See Other

    ไคลเอนต์ควรใช้ GET เพื่อดึงผลลัพธ์จาก URL อื่น มักใช้หลังส่งแบบฟอร์มด้วย POST แล้วเปลี่ยนเส้นทางไปยังหน้าการยืนยัน (รูปแบบ Post/Redirect/Get)

    กำหนดไว้ใน RFC 9110

  • 304 Not Modified

    สำเนาที่แคชไว้ยังใช้ได้ เซิร์ฟเวอร์จึงไม่ส่งเนื้อหากลับ มักพบเมื่อเบราว์เซอร์ตรวจสอบไฟล์ที่แคชไว้อีกครั้งด้วย If-None-Match หรือ If-Modified-Since

    กำหนดไว้ใน RFC 9110

  • 305 Use Proxy

    เลิกใช้หรือไม่ได้ใช้งานแล้ว

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

    กำหนดไว้ใน RFC 9110

  • 306 (Unused)

    เลิกใช้หรือไม่ได้ใช้งานแล้ว

    สงวนไว้ เคยใช้ในร่าง HTTP/1.1 ฉบับก่อนหน้า และไม่ได้ใช้อีกต่อไป

    กำหนดไว้ใน RFC 9110

  • 307 Temporary Redirect

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

    กำหนดไว้ใน RFC 9110

  • 308 Permanent Redirect

    ทรัพยากรถูกย้ายอย่างถาวร และไคลเอ็นต์ต้องใช้เมธอดและเนื้อหาคำขอเดิมที่ URL ใหม่ เป็นรหัสถาวรที่เทียบเท่ากับ 307 และปลอดภัยสำหรับการเปลี่ยนเส้นทางคำขอ POST

    กำหนดไว้ใน RFC 9110

  • 400 Bad Request

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

    กำหนดไว้ใน RFC 9110

  • 401 Unauthorized

    คำขอไม่มีข้อมูลรับรองการยืนยันตัวตนที่ถูกต้อง แม้ชื่อรหัสจะสื่ออย่างอื่น แต่หมายถึง “ยังไม่ผ่านการยืนยันตัวตน” โดยเซิร์ฟเวอร์จะส่งส่วนหัว WWW-Authenticate เพื่อระบุวิธีเข้าสู่ระบบ

    กำหนดไว้ใน RFC 9110

  • 402 Payment Required

    สงวนไว้สำหรับการใช้งานในอนาคตตามข้อกำหนด HTTP บาง API และบริการชำระเงินใช้รหัสนี้เมื่อต้องชำระเงินหรือสมัครสมาชิก

    กำหนดไว้ใน RFC 9110

  • 403 Forbidden

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

    กำหนดไว้ใน RFC 9110

  • 404 Not Found

    เซิร์ฟเวอร์ไม่พบทรัพยากรที่ร้องขอ โดยทั่วไปเกิดจากลิงก์พิมพ์ผิดหรือล้าสมัย หน้าที่ถูกลบ หรือเส้นทาง API ไม่ถูกต้อง

    กำหนดไว้ใน RFC 9110

  • 405 Method Not Allowed

    ทรัพยากรมีอยู่ แต่ไม่รองรับเมธอด HTTP ที่ใช้ เช่น ส่ง POST ไปยัง URL ที่อ่านได้อย่างเดียว การตอบกลับจะแสดงเมธอดที่อนุญาตในส่วนหัว Allow

    กำหนดไว้ใน RFC 9110

  • 406 Not Acceptable

    เซิร์ฟเวอร์ไม่สามารถสร้างการตอบกลับในรูปแบบใด ๆ ที่ระบุไว้ในส่วนหัว Accept ของไคลเอ็นต์ได้

    กำหนดไว้ใน RFC 9110

  • 407 Proxy Authentication Required

    คล้ายกับ 401 แต่ไคลเอ็นต์ต้องยืนยันตัวตนกับพร็อกซีก่อน มักพบในเครือข่ายองค์กรที่ใช้พร็อกซีซึ่งต้องยืนยันตัวตน

    กำหนดไว้ใน RFC 9110

  • 408 Request Timeout

    เซิร์ฟเวอร์หมดเวลารอให้ไคลเอ็นต์ส่งคำขอจนเสร็จ มักพบเมื่อการเชื่อมต่อช้าหรือขาดช่วง

    กำหนดไว้ใน RFC 9110

  • 409 Conflict

    คำขอขัดแย้งกับสถานะปัจจุบันของทรัพยากร เช่น การแก้ไขที่ขัดแย้งกัน หรือการสร้างสิ่งที่มีอยู่แล้ว

    กำหนดไว้ใน RFC 9110

  • 410 Gone

    ทรัพยากรถูกลบอย่างถาวรและจะไม่กลับมาอีก ต่างจาก 404 ตรงที่เป็นการแจ้งให้เครื่องมือค้นหานำ URL ออกได้เร็วขึ้น

    กำหนดไว้ใน RFC 9110

  • 411 Length Required

    เซิร์ฟเวอร์กำหนดให้ต้องมีส่วนหัว Content-Length แต่คำขอไม่ได้ส่งมาด้วย

    กำหนดไว้ใน RFC 9110

  • 412 Precondition Failed

    เงื่อนไขในส่วนหัวของคำขอ เช่น If-Match ไม่เป็นไปตามที่กำหนด ใช้เพื่อป้องกันการเขียนทับทรัพยากรที่มีการเปลี่ยนแปลงนับจากที่ไคลเอ็นต์อ่านครั้งล่าสุด

    กำหนดไว้ใน RFC 9110

  • 413 Content Too Large

    เนื้อหาคำขอมีขนาดใหญ่กว่าที่เซิร์ฟเวอร์ยอมรับ มักพบเมื่ออัปโหลดไฟล์ที่มีขนาดเกินขีดจำกัด เช่น client_max_body_size ของ nginx

    กำหนดไว้ใน RFC 9110

  • 414 URI Too Long

    URL ยาวเกินกว่าที่เซิร์ฟเวอร์จะประมวลผลได้ โดยทั่วไปเกิดจากแบบฟอร์มส่งข้อมูลผ่าน GET มากเกินไป หรือเกิดลูปการเปลี่ยนเส้นทางที่เพิ่มพารามิเตอร์ต่อไปเรื่อย ๆ

    กำหนดไว้ใน RFC 9110

  • 415 Unsupported Media Type

    เซิร์ฟเวอร์ไม่รองรับรูปแบบของเนื้อหาคำขอ เช่น ส่ง XML ไปยัง endpoint ที่คาดว่าจะได้รับ application/json

    กำหนดไว้ใน RFC 9110

  • 416 Range Not Satisfiable

    ช่วงไบต์ที่ร้องขอในส่วนหัว Range อยู่นอกขนาดของทรัพยากร

    กำหนดไว้ใน RFC 9110

  • 417 Expectation Failed

    เซิร์ฟเวอร์ไม่สามารถทำตามข้อกำหนดในส่วนหัว Expect ของไคลเอ็นต์ได้

    กำหนดไว้ใน RFC 9110

  • 418 I'm a teapot

    มุกวันเมษาหน้าโง่จาก Hyper Text Coffee Pot Control Protocol ปี 1998 ซึ่งเป็นกาน้ำชาที่ปฏิเสธการชงกาแฟ HTTP สงวนรหัสนี้ไว้โดยไม่ใช้งาน แต่เซิร์ฟเวอร์บางแห่งส่งรหัสนี้เป็น Easter egg หรือเพื่อปฏิเสธบอตที่ไม่ต้องการ

    กำหนดไว้ใน RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Laravel ส่งรหัสนี้เมื่อไม่มี CSRF token ของแบบฟอร์ม หรือ token หมดอายุ ซึ่งมักเกิดหลังเซสชันหมดเวลา

    กำหนดไว้ใน Laravel

  • 420 Enhance Your Calm

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Twitter API รุ่นเก่าใช้รหัสนี้เมื่อจำกัดอัตราการส่งคำขอ ปัจจุบัน 429 เป็นรหัสมาตรฐานสำหรับกรณีนี้

    กำหนดไว้ใน Twitter API v1

  • 421 Misdirected Request

    คำขอไปถึงเซิร์ฟเวอร์ที่ไม่สามารถสร้างการตอบกลับสำหรับโฮสต์นี้ได้ เช่น เมื่อมีการนำการเชื่อมต่อ HTTP/2 ไปใช้ซ้ำกับโดเมนอื่น

    กำหนดไว้ใน RFC 9110

  • 422 Unprocessable Content

    รูปแบบคำขอถูกต้อง แต่เนื้อหาไม่ถูกต้อง เช่น แบบฟอร์มไม่ผ่านกฎการตรวจสอบความถูกต้อง API นิยมใช้รหัสนี้สำหรับข้อผิดพลาดในการตรวจสอบข้อมูล

    กำหนดไว้ใน RFC 9110

  • 423 Locked

    ทรัพยากร WebDAV ถูกล็อกและไม่สามารถเปลี่ยนแปลงได้

    กำหนดไว้ใน RFC 4918

  • 424 Failed Dependency

    คำขอ WebDAV ล้มเหลวเนื่องจากการดำเนินการอื่นที่คำขอนี้ต้องพึ่งพาล้มเหลว

    กำหนดไว้ใน RFC 4918

  • 425 Too Early

    เซิร์ฟเวอร์จะไม่ประมวลผลคำขอที่อาจถูกเล่นซ้ำ เช่น คำขอที่ส่งมาในข้อมูล early data ของ TLS 1.3

    กำหนดไว้ใน RFC 8470

  • 426 Upgrade Required

    เซิร์ฟเวอร์ปฏิเสธคำขอที่ใช้โปรโตคอลปัจจุบัน และระบุโปรโตคอลที่ต้องใช้ไว้ในส่วนหัว Upgrade

    กำหนดไว้ใน RFC 9110

  • 428 Precondition Required

    เซิร์ฟเวอร์กำหนดให้ต้องส่งคำขอแบบมีเงื่อนไข (เช่น ใช้ If-Match) เพื่อป้องกันการอัปเดตที่สูญหาย

    กำหนดไว้ใน RFC 6585

  • 429 Too Many Requests

    ไคลเอ็นต์ส่งคำขอมากเกินไปภายในช่วงเวลาที่กำหนด API ใช้รหัสนี้เพื่อจำกัดอัตราการส่งคำขอ และมักมีส่วนหัว Retry-After ระบุเวลาที่ควรลองอีกครั้ง

    กำหนดไว้ใน RFC 6585

  • 431 Request Header Fields Too Large

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

    กำหนดไว้ใน RFC 6585

  • 444 No Response

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน nginx ใช้รหัสนี้ภายในเพื่อปิดการเชื่อมต่อโดยไม่ส่งการตอบกลับ มักใช้ตัดการรับส่งข้อมูลที่ไม่ต้องการ โดยไคลเอ็นต์จะไม่ได้รับรหัสนี้จริง ๆ

    กำหนดไว้ใน nginx

  • 451 Unavailable For Legal Reasons

    ไม่สามารถเข้าถึงทรัพยากรได้ด้วยเหตุผลทางกฎหมาย เช่น คำสั่งศาลหรือการเซ็นเซอร์ของรัฐบาล ตัวเลขนี้อ้างอิงถึงนวนิยาย Fahrenheit 451

    กำหนดไว้ใน RFC 7725

  • 494 Request Header Too Large

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน เป็นรหัสเฉพาะของ nginx ที่ใช้แทน 431 และบันทึกเมื่อส่วนหัวของคำขอมีขนาดเกินขีดจำกัดบัฟเฟอร์

    กำหนดไว้ใน nginx

  • 495 SSL Certificate Error

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน nginx ส่งรหัสนี้เมื่อการตรวจสอบใบรับรองไคลเอ็นต์ไม่ผ่าน

    กำหนดไว้ใน nginx

  • 496 SSL Certificate Required

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน nginx ส่งรหัสนี้เมื่อไม่ได้ส่งใบรับรองไคลเอ็นต์ที่จำเป็นมา

    กำหนดไว้ใน nginx

  • 497 HTTP Request Sent to HTTPS Port

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน nginx ส่งรหัสนี้เมื่อมีการส่งคำขอ HTTP แบบไม่เข้ารหัสไปยังพอร์ตที่กำหนดค่าให้ใช้ HTTPS

    กำหนดไว้ใน nginx

  • 499 Client Closed Request

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน nginx บันทึกรหัสนี้เมื่อไคลเอ็นต์ปิดการเชื่อมต่อก่อนที่เซิร์ฟเวอร์จะตอบกลับ เช่น ผู้ใช้ยกเลิกหน้าที่โหลดช้า หรือไคลเอ็นต์หมดเวลา

    กำหนดไว้ใน nginx

  • 500 Internal Server Error

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

    กำหนดไว้ใน RFC 9110

  • 501 Not Implemented

    เซิร์ฟเวอร์ไม่รองรับฟังก์ชันที่จำเป็น เช่น เมธอด HTTP ที่เซิร์ฟเวอร์ไม่รู้จัก

    กำหนดไว้ใน RFC 9110

  • 502 Bad Gateway

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

    กำหนดไว้ใน RFC 9110

  • 503 Service Unavailable

    เซิร์ฟเวอร์ไม่สามารถจัดการคำขอได้ชั่วคราว เนื่องจากมีภาระงานมากเกินไปหรือปิดปรับปรุง ส่วนหัว Retry-After อาจระบุเวลาที่ควรลองอีกครั้ง

    กำหนดไว้ใน RFC 9110

  • 504 Gateway Timeout

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

    กำหนดไว้ใน RFC 9110

  • 505 HTTP Version Not Supported

    เซิร์ฟเวอร์ไม่รองรับเวอร์ชัน HTTP ที่ใช้ในคำขอ

    กำหนดไว้ใน RFC 9110

  • 506 Variant Also Negotiates

    การตั้งค่าเจรจาเนื้อหาบนเซิร์ฟเวอร์มีข้อผิดพลาด โดยตัวเลือกที่ถูกเลือกถูกตั้งค่าให้เจรจาเนื้อหาเอง

    กำหนดไว้ใน RFC 2295

  • 507 Insufficient Storage

    เซิร์ฟเวอร์ไม่สามารถจัดเก็บข้อมูลที่จำเป็นต่อการดำเนินการตามคำขอได้ เช่น พื้นที่ดิสก์เต็มบนเซิร์ฟเวอร์ WebDAV

    กำหนดไว้ใน RFC 4918

  • 508 Loop Detected

    เซิร์ฟเวอร์หยุดการทำงานของ WebDAV เนื่องจากพบการวนซ้ำไม่รู้จบ

    กำหนดไว้ใน RFC 5842

  • 509 Bandwidth Limit Exceeded

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน โฮสติ้งแบบใช้ร่วมกันบางรายใช้รหัสนี้ (โมดูล Apache, cPanel) เมื่อเว็บไซต์ใช้แบนด์วิดท์เกินโควตา

    กำหนดไว้ใน Apache / cPanel

  • 510 Not Extended

    เลิกใช้หรือไม่ได้ใช้งานแล้ว

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

    กำหนดไว้ใน RFC 2774

  • 511 Network Authentication Required

    ไคลเอ็นต์ต้องยืนยันตัวตนเพื่อเข้าใช้งานเครือข่าย มักส่งโดยพอร์ทัลเข้าสู่ระบบบน Wi-Fi ของโรงแรม สนามบิน หรือคาเฟ่ ก่อนที่คุณจะเข้าสู่ระบบ

    กำหนดไว้ใน RFC 6585

  • 520 Web Server Returned an Unknown Error

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Cloudflare ส่งรหัสนี้เมื่อเซิร์ฟเวอร์ต้นทางส่งการตอบกลับที่ว่างเปล่า ไม่รู้จัก หรือไม่เป็นไปตามที่คาดไว้

    กำหนดไว้ใน Cloudflare

  • 521 Web Server Is Down

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Cloudflare ส่งรหัสนี้เมื่อเซิร์ฟเวอร์ต้นทางปฏิเสธการเชื่อมต่อ โดยปกติเป็นเพราะเว็บเซิร์ฟเวอร์หยุดทำงานหรือบล็อก IP address ของ Cloudflare

    กำหนดไว้ใน Cloudflare

  • 522 Connection Timed Out

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Cloudflare ส่งรหัสนี้เมื่อการเชื่อมต่อ TCP ไปยังเซิร์ฟเวอร์ต้นทางหมดเวลา

    กำหนดไว้ใน Cloudflare

  • 523 Origin Is Unreachable

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Cloudflare ส่งรหัสนี้เมื่อไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ต้นทางได้ เช่น เกิดปัญหา DNS หรือการกำหนดเส้นทาง

    กำหนดไว้ใน Cloudflare

  • 524 A Timeout Occurred

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Cloudflare ส่งรหัสนี้เมื่อเชื่อมต่อกับเซิร์ฟเวอร์ต้นทางแล้ว แต่ไม่ได้รับการตอบกลับ HTTP ภายในเวลาที่กำหนด (ค่าเริ่มต้นคือ 100 วินาที)

    กำหนดไว้ใน Cloudflare

  • 525 SSL Handshake Failed

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Cloudflare ส่งรหัสนี้เมื่อการจับมือ SSL/TLS กับเซิร์ฟเวอร์ต้นทางไม่สำเร็จ

    กำหนดไว้ใน Cloudflare

  • 526 Invalid SSL Certificate

    ไม่ใช่มาตรฐาน

    ไม่ใช่รหัสมาตรฐาน Cloudflare ส่งรหัสนี้เมื่อใบรับรอง SSL ของเซิร์ฟเวอร์ต้นทางไม่ถูกต้อง และเปิดใช้โหมด Full (strict) SSL

    กำหนดไว้ใน Cloudflare

วิธีใช้งาน

  1. พิมพ์หมายเลขรหัส เช่น 404 หรือพิมพ์แค่ 5 เพื่อดูข้อผิดพลาดฝั่งเซิร์ฟเวอร์ทั้งหมด หรือค้นหาด้วยคำ เช่น “redirect” หรือ “timeout”
  2. กรองรายการให้แคบลงตามประเภท ได้แก่ ข้อมูลสำคัญ, สำเร็จ, เปลี่ยนเส้นทาง, ข้อผิดพลาดฝั่งลูกค้า หรือข้อผิดพลาดฝั่งเซิร์ฟเวอร์
  3. เลือก “คัดลอกลิงก์” ที่รหัสใดก็ได้เพื่อแชร์ลิงก์ตรงไปยังรหัสนั้น เช่น ใช้ในรายงานข้อบกพร่อง

วิธีการทำงาน

การตอบกลับ HTTP ทุกครั้งเริ่มต้นด้วยรหัสสถานะสามหลัก ตัวเลขหลักแรกระบุประเภท: 1xx การตอบกลับเพื่อแจ้งข้อมูล, 2xx สำเร็จ, 3xx เปลี่ยนเส้นทาง, 4xx ข้อผิดพลาดที่เกิดจากคำขอ และ 5xx ข้อผิดพลาดฝั่งเซิร์ฟเวอร์ ไคลเอ็นต์ที่ไม่รู้จักรหัสเฉพาะจะจัดการรหัสดังกล่าวเหมือนรหัส x00 ในประเภทเดียวกัน ดังนั้นรหัส 4xx ที่ไม่รู้จักจะถูกจัดการเหมือน 400

รหัสหลักกำหนดไว้ใน RFC 9110 (HTTP Semantics, 2022) ซึ่งมาแทน RFC 7231 ฉบับเก่า รหัสอื่น ๆ มาจากส่วนขยาย ได้แก่ WebDAV (RFC 4918), RFC 6585 สำหรับ 428, 429, 431 และ 511, RFC 7725 สำหรับ 451 และ RFC 8470 สำหรับ 425 นอกจากนี้ RFC 9110 ยังเปลี่ยนชื่อรหัสสองรายการ: 413 เปลี่ยนเป็น “Content Too Large” และ 422 เปลี่ยนเป็น “Unprocessable Content” ซึ่งคุณอาจยังพบชื่อเดิมคือ “Payload Too Large” และ “Unprocessable Entity”

รหัสบางรายการที่พบในบันทึกไม่ได้เป็นมาตรฐานเลย nginx ใช้ 444 และ 494–499 ภายใน (499 หมายถึงไคลเอ็นต์ยกเลิกการรอ) ส่วน Cloudflare ส่งรหัส 520–526 เมื่อไม่ได้รับคำตอบที่เหมาะสมจากเซิร์ฟเวอร์ต้นทาง รหัสเหล่านี้ระบุว่า “ไม่เป็นมาตรฐาน” ในรายการ ข้อความบอกเหตุผล (เช่น “Not Found”) แสดงเป็นภาษาอังกฤษตามที่เขียนไว้ในข้อกำหนด ส่วน HTTP/2 และ HTTP/3 ส่งเพียงตัวเลข

ตัวอย่าง

ใช้ 301 หรือ 308 เมื่อย้ายเว็บไซต์

ทั้งสองรหัสเป็นการเปลี่ยนเส้นทางถาวร ใช้ 301 สำหรับการย้ายหน้าทั่วไป และใช้ 308 เมื่อต้องการให้ไคลเอ็นต์ส่งคำขอ POST หรือ PUT ซ้ำไปยัง URL ใหม่ เนื่องจากไคลเอ็นต์บางตัวเปลี่ยน POST เป็น GET หลังได้รับ 301

401 กับ 403 ต่างกันอย่างไร

API จะส่ง 401 เมื่อไม่มีโทเค็นหรือส่งโทเค็นที่หมดอายุ ไคลเอ็นต์จึงควรเข้าสู่ระบบ ส่วน 403 จะถูกส่งเมื่อโทเค็นถูกต้องแต่ผู้ใช้ไม่มีสิทธิ์ การเข้าสู่ระบบใหม่จึงไม่ช่วย

วิเคราะห์ปัญหา 502 หลัง nginx

502 Bad Gateway จาก nginx หมายความว่าแอปพลิเคชันที่อยู่เบื้องหลังตอบกลับไม่ถูกต้อง ให้ตรวจสอบว่าโปรเซสของแอปทำงานอยู่หรือไม่และมีบันทึกอะไรบ้าง ส่วน 504 หมายถึงแอปตอบกลับช้าเกินไป

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

404 กับ 410 ต่างกันอย่างไร

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

ข้อผิดพลาดจากการตรวจสอบข้อมูลควรใช้ 400 หรือ 422

ใช้ได้ทั้งสองรหัส 400 เหมาะกับคำขอที่เซิร์ฟเวอร์แยกวิเคราะห์ไม่ได้ เช่น JSON ที่มีรูปแบบผิด ส่วน 422 เหมาะกับคำขอที่แยกวิเคราะห์ได้ แต่มีค่าไม่ถูกต้อง เช่น ช่องอีเมลที่ไม่มี @

418 I'm a teapot เป็นรหัสสถานะจริงหรือไม่

รหัสนี้มาจาก RFC วันเมษาหน้าโง่ในปี 1998 โดย RFC 9110 กำหนดให้ 418 ยังไม่มีการใช้งาน เพื่อไม่ให้ถูกนำไปกำหนดความหมายอื่น เซิร์ฟเวอร์บางแห่งส่งรหัสนี้กลับมาเป็นมุก แต่ไม่มีความหมายมาตรฐาน

499 มาจากไหน

499 เป็นรหัสเฉพาะของ nginx โดยจะปรากฏในบันทึกของ nginx เมื่อลูกค้าปิดการเชื่อมต่อก่อนที่เซิร์ฟเวอร์จะส่งการตอบกลับ ลูกค้าจะไม่ได้รับ 499 โดยตรง ซึ่งมักบ่งชี้ว่าการตอบกลับช้าหรือเกิดหมดเวลาฝั่งลูกค้า

เครื่องมือค้นหามอง 302 เหมือน 301 หรือไม่

302 ระบุว่าเป็นการย้ายชั่วคราว ดังนั้นในช่วงแรกเครื่องมือค้นหามักยังคงจัดทำดัชนี URL เดิม หากใช้ 302 เป็นเวลานาน Google อาจมองว่าเป็นการเปลี่ยนเส้นทางถาวร ใช้ 301 หรือ 308 สำหรับการย้ายถาวร

ความเป็นส่วนตัว

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