DevToolPal
ไทย

รหัสสถานะ HTTP

อธิบายรหัสสถานะ HTTP ทุกตัวแบบเข้าใจง่าย: ความหมาย สาเหตุที่พบบ่อย วิธีแก้ไข ตัวอย่างการตอบกลับ และ RFC ที่กำหนดรหัสนั้น

70 รหัสสถานะ

1xx ข้อมูล

การตอบกลับชั่วคราว: ได้รับคำขอแล้วและกำลังประมวลผลต่อ

100 Continue ดำเนินการต่อ เซิร์ฟเวอร์ได้รับ header ของคำขอแล้ว และไคลเอนต์ส่ง body ต่อได้ เป็นการตอบกลับชั่วคราวที่ส่งก่อนสถานะสุดท้าย 101 Switching Protocols สลับโปรโตคอล เซิร์ฟเวอร์ตกลงสลับไปใช้โปรโตคอลที่ไคลเอนต์ขอใน header Upgrade ซึ่งส่วนใหญ่คือ WebSocket หลังการตอบกลับนี้ การเชื่อมต่อจะใช้โปรโตคอลใหม่ 102 Processing กำลังประมวลผล การตอบกลับชั่วคราวของ WebDAV ที่บอกไคลเอนต์ว่าเซิร์ฟเวอร์ยังทำงานกับคำขอที่ใช้เวลานานอยู่ จึงยังไม่ควรหมดเวลา รหัสนี้เลิกใช้แล้วและแทบไม่มีการส่งในปัจจุบัน 103 Early Hints คำใบ้ล่วงหน้า การตอบกลับชั่วคราวที่ส่ง header Link มาก่อน เพื่อให้เบราว์เซอร์โหลด CSS ฟอนต์ หรือเชื่อมต่อกับ origin ล่วงหน้าได้ ระหว่างที่เซิร์ฟเวอร์ยังสร้างหน้าสุดท้ายอยู่

2xx สำเร็จ

ได้รับ เข้าใจ และยอมรับคำขอแล้ว

200 OK ตกลง คำขอสำเร็จ สำหรับ GET body จะมี resource สำหรับ POST body จะมีผลลัพธ์ของการกระทำ 201 Created สร้างแล้ว คำขอสำเร็จและสร้าง resource ใหม่ header Location มักชี้ไปยัง resource นั้น 202 Accepted ยอมรับแล้ว รับคำขอไว้ประมวลผลแล้ว แต่ยังประมวลผลไม่เสร็จ ผลลัพธ์ยังไม่ทราบในขณะที่ตอบกลับ 203 Non-Authoritative Information ข้อมูลที่ไม่เป็นทางการ คำขอสำเร็จ แต่พร็อกซีที่แปลงข้อมูลได้แก้ไขเนื้อหาจากการตอบกลับ 200 ของเซิร์ฟเวอร์ต้นทาง 204 No Content ไม่มีเนื้อหา คำขอสำเร็จและไม่มี body ส่งกลับ header ยังอาจมี metadata เช่น ETag ใหม่ 205 Reset Content รีเซ็ตเนื้อหา คำขอสำเร็จและไคลเอนต์ควรรีเซ็ตมุมมองเอกสาร เช่น ล้างฟอร์มที่เพิ่งส่ง ไม่มีการส่ง body 206 Partial Content เนื้อหาบางส่วน เซิร์ฟเวอร์คืนเพียงบางส่วนของ resource ตามที่ header Range ขอ Content-Range บอกว่ามีไบต์ใดบ้าง 207 Multi-Status หลายสถานะ การตอบกลับของ WebDAV ที่ body XML มีสถานะแยกสำหรับแต่ละ resource ที่ได้รับผลจากคำขอเดียว 208 Already Reported รายงานแล้ว ใช้ภายใน body ของ WebDAV 207 เพื่อบอกว่า resource ถูกแสดงไปแล้วก่อนหน้าในการตอบกลับ ป้องกันรายการซ้ำเมื่อ binding เกิดวงวน 226 IM Used ใช้ IM แล้ว เซิร์ฟเวอร์ตอบ GET โดยใช้การจัดการ instance หนึ่งอย่างหรือมากกว่า (delta encoding) ดังนั้น body จึงเป็นส่วนต่าง ไม่ใช่ resource ทั้งหมด

3xx เปลี่ยนเส้นทาง

ไคลเอนต์ต้องทำอีกขั้นหนึ่ง โดยปกติคือไปยัง URL ใหม่

300 Multiple Choices มีหลายทางเลือก resource มีหลายรูปแบบ (ภาษา ฟอร์แมต) และไคลเอนต์หรือผู้ใช้ควรเลือกหนึ่งรูปแบบ เซิร์ฟเวอร์อาจแนะนำรูปแบบที่ต้องการผ่าน Location 301 Moved Permanently ย้ายถาวร resource ถูกย้ายไปยัง URL ใน Location อย่างถาวร ไคลเอนต์และเสิร์ชเอนจินควรใช้ URL ใหม่นับจากนี้ 302 Found พบแล้ว resource อยู่ที่ URL อื่นชั่วคราว ไคลเอนต์ควรใช้ URL เดิมต่อไปในคำขอครั้งถัดไป 303 See Other ดูที่อื่น เซิร์ฟเวอร์สั่งให้ไคลเอนต์ดึง URL อื่นด้วย GET โดยมากเพื่อแสดงผลลัพธ์ของ POST 304 Not Modified ไม่มีการเปลี่ยนแปลง สำเนาแคชที่ไคลเอนต์มีอยู่ยังใช้ได้ เซิร์ฟเวอร์จึงไม่ส่ง body เป็นการตอบคำขอแบบมีเงื่อนไขด้วย If-None-Match หรือ If-Modified-Since 305 Use Proxy ใช้พร็อกซี เลิกใช้แล้ว เคยใช้บอกให้ไคลเอนต์ส่งคำขอซ้ำผ่านพร็อกซีใน Location เบราว์เซอร์ละเลยรหัสนี้ด้วยเหตุผลด้านความปลอดภัย 307 Temporary Redirect เปลี่ยนเส้นทางชั่วคราว resource อยู่ที่ URL อื่นชั่วคราว และไคลเอนต์ต้องส่งคำขอซ้ำที่นั่นด้วยเมธอดและ body เดิม 308 Permanent Redirect เปลี่ยนเส้นทางถาวร resource ถูกย้ายถาวร และไคลเอนต์ต้องส่งคำขอซ้ำที่ URL ใหม่ด้วยเมธอดและ body เดิม

4xx ข้อผิดพลาดฝั่งไคลเอนต์

คำขอมีปัญหาที่ไคลเอนต์ต้องแก้ไข

400 Bad Request คำขอไม่ถูกต้อง เซิร์ฟเวอร์ประมวลผลคำขอไม่ได้เพราะรูปแบบผิด เช่น ไวยากรณ์ไม่ถูกต้อง framing ผิด หรือค่าที่ parse ไม่ได้ 401 Unauthorized ไม่ได้ยืนยันตัวตน คำขอไม่มีข้อมูลยืนยันตัวตนที่ถูกต้อง แม้ชื่อจะเป็น Unauthorized แต่หมายถึงยังไม่ได้ยืนยันตัวตน ให้เข้าสู่ระบบหรือส่งโทเค็นที่ถูกต้อง 402 Payment Required ต้องชำระเงิน สงวนไว้สำหรับอนาคต แต่ในทางปฏิบัติบริการต่าง ๆ คืนรหัสนี้เมื่อต้องชำระเงินหรือใช้แพ็กเกจแบบเสียเงินเพื่อดำเนินการต่อ 403 Forbidden ห้ามเข้าถึง เซิร์ฟเวอร์เข้าใจคำขอแต่ปฏิเสธการอนุญาต การเข้าสู่ระบบใหม่จะไม่ช่วยจนกว่าสิทธิ์จะเปลี่ยน 404 Not Found ไม่พบ เซิร์ฟเวอร์ไม่พบสิ่งใดที่ URL ที่ขอ และไม่ได้บอกว่า resource เคยมีอยู่หรือจะกลับมาหรือไม่ 405 Method Not Allowed ไม่อนุญาตเมธอดนี้ URL มีอยู่แต่ไม่รองรับเมธอด HTTP ที่ใช้ header Allow แสดงเมธอดที่ใช้ได้ 406 Not Acceptable ไม่สามารถยอมรับได้ เซิร์ฟเวอร์สร้างการตอบกลับในฟอร์แมตที่ header Accept ของไคลเอนต์อนุญาตไม่ได้เลย 407 Proxy Authentication Required ต้องยืนยันตัวตนกับพร็อกซี พร็อกซีระหว่างไคลเอนต์กับเซิร์ฟเวอร์ต้องการการยืนยันตัวตนก่อนส่งต่อคำขอ 408 Request Timeout คำขอหมดเวลา เซิร์ฟเวอร์ปิดการเชื่อมต่อเพราะไคลเอนต์ส่งคำขอไม่ครบภายในเวลา 409 Conflict ขัดแย้ง คำขอขัดแย้งกับสถานะปัจจุบันของ resource เช่น ข้อมูลซ้ำหรือการแก้ไขพร้อมกัน 410 Gone หายไปแล้ว resource หายไปอย่างถาวรและไม่มีที่อยู่ใหม่ ต่างจาก 404 ตรงที่เซิร์ฟเวอร์ระบุเรื่องนี้อย่างตั้งใจ 411 Length Required ต้องระบุความยาว เซิร์ฟเวอร์ต้องการ header Content-Length แต่คำขอไม่มี 412 Precondition Failed เงื่อนไขล่วงหน้าไม่เป็นจริง เงื่อนไขใน header ของคำขอ เช่น If-Match หรือ If-Unmodified-Since ให้ผลเป็นเท็จ เซิร์ฟเวอร์จึงไม่ดำเนินการตามคำขอ 413 Content Too Large เนื้อหาใหญ่เกินไป body ของคำขอใหญ่กว่าที่เซิร์ฟเวอร์ยินดีหรือสามารถประมวลผลได้ เดิมเรียกว่า Payload Too Large 414 URI Too Long URI ยาวเกินไป URL ของคำขอยาวกว่าที่เซิร์ฟเวอร์ยินดีตีความ 415 Unsupported Media Type ไม่รองรับชนิดข้อมูล เซิร์ฟเวอร์ปฏิเสธคำขอเพราะไม่รองรับชนิดข้อมูล (Content-Type) หรือการเข้ารหัสของ body 416 Range Not Satisfiable ช่วงข้อมูลไม่สามารถให้ได้ header Range ขอไบต์ที่อยู่นอกขนาดของ resource 417 Expectation Failed ไม่เป็นไปตามที่คาดหวัง เซิร์ฟเวอร์ทำตามข้อกำหนดใน header Expect ของคำขอไม่ได้ ซึ่งมักเป็น Expect: 100-continue 418 I'm a teapot ฉันเป็นกาน้ำชา มุกวันเมษาหน้าโง่จาก Hyper Text Coffee Pot Control Protocol: เซิร์ฟเวอร์เป็นกาน้ำชาและปฏิเสธการชงกาแฟ บางเว็บไซต์ใช้เป็นมุกตลกหรือใช้บล็อกบอท 421 Misdirected Request คำขอถูกส่งผิดที่ คำขอไปถึงเซิร์ฟเวอร์ที่ไม่ได้ตั้งค่าให้ตอบสำหรับโฮสต์นั้น มักเกิดจากการนำการเชื่อมต่อ HTTP/2 กลับมาใช้กับโดเมนอื่น 422 Unprocessable Content ไม่สามารถประมวลผลเนื้อหาได้ คำขอมีรูปแบบถูกต้องแต่มีข้อผิดพลาดเชิงความหมาย เซิร์ฟเวอร์จึงประมวลผลไม่ได้ เดิมชื่อ Unprocessable Entity 423 Locked ถูกล็อก WebDAV: resource ถูกล็อกอยู่ จึงใช้เมธอดนี้ไม่ได้ 424 Failed Dependency การพึ่งพาล้มเหลว WebDAV: การดำเนินการล้มเหลวเพราะขึ้นกับการดำเนินการอื่นในคำขอเดียวกันที่ล้มเหลว 425 Too Early เร็วเกินไป เซิร์ฟเวอร์ปฏิเสธที่จะประมวลผลคำขอที่ส่งเป็น early data ของ TLS 1.3 (0-RTT) เพราะอาจถูกเล่นซ้ำ 426 Upgrade Required ต้องอัปเกรด เซิร์ฟเวอร์ปฏิเสธคำขอด้วยโปรโตคอลปัจจุบัน และต้องการให้ไคลเอนต์อัปเกรด เช่น เป็น TLS หรือ HTTP/2 ตามที่ระบุใน header Upgrade 428 Precondition Required ต้องมีเงื่อนไขล่วงหน้า เซิร์ฟเวอร์ต้องการให้คำขอเป็นแบบมีเงื่อนไข (If-Match เป็นต้น) เพื่อป้องกันการอัปเดตสูญหาย 429 Too Many Requests คำขอมากเกินไป ไคลเอนต์ส่งคำขอมากเกินไปในช่วงเวลาหนึ่ง (การจำกัดอัตรา) Retry-After อาจบอกว่าต้องรอนานเท่าใด 431 Request Header Fields Too Large ฟิลด์ header ของคำขอใหญ่เกินไป header ของคำขอใหญ่เกินไป อาจเป็น header เดียวหรือทั้งหมดรวมกัน 451 Unavailable For Legal Reasons ไม่พร้อมใช้งานด้วยเหตุผลทางกฎหมาย เซิร์ฟเวอร์ให้ resource ไม่ได้ด้วยเหตุผลทางกฎหมาย เช่น คำสั่งศาลหรือการเซ็นเซอร์ของรัฐ ตัวเลขนี้อ้างอิงถึง Fahrenheit 451 499 Client Closed Request (ไม่เป็นมาตรฐาน) ไคลเอนต์ปิดคำขอ nginx บันทึก 499 เมื่อไคลเอนต์ปิดการเชื่อมต่อก่อนที่เซิร์ฟเวอร์จะส่งการตอบกลับ ไคลเอนต์จะไม่เห็นรหัสนี้

5xx ข้อผิดพลาดฝั่งเซิร์ฟเวอร์

เซิร์ฟเวอร์ไม่สามารถดำเนินการตามคำขอที่ถูกต้องได้

500 Internal Server Error ข้อผิดพลาดภายในเซิร์ฟเวอร์ เซิร์ฟเวอร์เจอสถานการณ์ที่ไม่คาดคิดและดำเนินการตามคำขอไม่สำเร็จ เป็นรหัสรวมสำหรับข้อผิดพลาดฝั่งเซิร์ฟเวอร์ 501 Not Implemented ยังไม่ได้นำมาใช้ เซิร์ฟเวอร์ไม่รองรับฟังก์ชันที่ต้องการ โดยมากคือตัวเมธอดของคำขอเอง 502 Bad Gateway เกตเวย์ไม่ถูกต้อง เกตเวย์หรือพร็อกซีได้รับการตอบกลับที่ไม่ถูกต้องจากเซิร์ฟเวอร์ upstream ที่ส่งต่อคำขอไป 503 Service Unavailable บริการไม่พร้อมใช้งาน เซิร์ฟเวอร์รับคำขอชั่วคราวไม่ได้เนื่องจากโหลดเกินหรือปิดปรับปรุง Retry-After อาจบอกว่าเมื่อใดจะลองใหม่ได้ 504 Gateway Timeout เกตเวย์หมดเวลา เกตเวย์หรือพร็อกซีไม่ได้รับการตอบกลับจากเซิร์ฟเวอร์ upstream ภายในเวลา 505 HTTP Version Not Supported ไม่รองรับเวอร์ชัน HTTP เซิร์ฟเวอร์ไม่รองรับเวอร์ชัน HTTP ที่ใช้ในคำขอ 506 Variant Also Negotiates ตัวแปรก็เจรจาด้วย การเจรจาเนื้อหาแบบโปร่งใสตั้งค่าผิด: ตัวแปรที่เลือกถูกตั้งให้เจรจาเองด้วย ทำให้เกิดวงวน 507 Insufficient Storage พื้นที่จัดเก็บไม่พอ เซิร์ฟเวอร์จัดเก็บข้อมูลที่จำเป็นต่อการทำคำขอให้เสร็จไม่ได้ (พื้นที่ดิสก์หรือโควตาเต็ม) มีต้นกำเนิดจาก WebDAV 508 Loop Detected ตรวจพบวงวน เซิร์ฟเวอร์ตรวจพบวงวนไม่รู้จบขณะประมวลผลคำขอที่มี Depth: infinity (WebDAV) ผู้ให้บริการโฮสติ้งบางรายยังใช้รหัสนี้กับขีดจำกัดทรัพยากร 510 Not Extended ไม่ได้ขยาย ต้องมีส่วนขยายเพิ่มเติมเพื่อให้เซิร์ฟเวอร์ทำตามคำขอได้ (HTTP Extension Framework) ปัจจุบันเฟรมเวิร์กนี้มีสถานะเป็นประวัติศาสตร์ 511 Network Authentication Required ต้องยืนยันตัวตนกับเครือข่าย ไคลเอนต์ต้องยืนยันตัวตนเพื่อเข้าใช้เครือข่าย มักพบที่ captive portal (Wi-Fi โรงแรมหรือสนามบิน) 520 Web Server Returned an Unknown Error (ไม่เป็นมาตรฐาน) ข้อผิดพลาดเซิร์ฟเวอร์ที่ไม่รู้จัก เฉพาะ Cloudflare: เซิร์ฟเวอร์ต้นทางส่งการตอบกลับที่ว่างเปล่า ไม่รู้จัก หรือไม่คาดคิด 521 Web Server Is Down (ไม่เป็นมาตรฐาน) เว็บเซิร์ฟเวอร์ล่ม เฉพาะ Cloudflare: เซิร์ฟเวอร์ต้นทางปฏิเสธการเชื่อมต่อ 522 Connection Timed Out (ไม่เป็นมาตรฐาน) การเชื่อมต่อหมดเวลา เฉพาะ Cloudflare: การเชื่อมต่อ TCP ไปยังเซิร์ฟเวอร์ต้นทางหมดเวลา 523 Origin Is Unreachable (ไม่เป็นมาตรฐาน) เข้าถึงต้นทางไม่ได้ เฉพาะ Cloudflare: Cloudflare เข้าถึงต้นทางไม่ได้ โดยมากเพราะปัญหา DNS หรือการกำหนดเส้นทาง 524 A Timeout Occurred (ไม่เป็นมาตรฐาน) เกิดการหมดเวลา เฉพาะ Cloudflare: เชื่อมต่อกับต้นทางได้ แต่ต้นทางไม่ส่งการตอบกลับ HTTP ภายในเวลา (ค่าเริ่มต้น 100 วินาที) 525 SSL Handshake Failed (ไม่เป็นมาตรฐาน) SSL handshake ล้มเหลว เฉพาะ Cloudflare: TLS handshake ระหว่าง Cloudflare กับต้นทางล้มเหลว 526 Invalid SSL Certificate (ไม่เป็นมาตรฐาน) ใบรับรอง SSL ไม่ถูกต้อง เฉพาะ Cloudflare: ในโหมด SSL Full (strict) ใบรับรองของต้นทางไม่ถูกต้อง หมดอายุ เป็นแบบ self-signed หรือไม่ตรงกับชื่อโฮสต์