← เครื่องมือทั้งหมด

อธิบาย HTTP Status Codes

คู่มือชัดเจนสำหรับ HTTP status codes และความหมาย ครอบคลุม 200, 301, 404, 500 และอื่น ๆ พร้อมห้าคลาสและเคล็ดลับ SEO และการดีบัก

HTTP status codes อธิบาย ตั้งแต่ 200 ถึง 503

ทุกครั้งที่เบราว์เซอร์ของคุณขอสิ่งต่างๆ จากเว็บเซิร์ฟเวอร์ เซิร์ฟเวอร์จะตอบกลับด้วยตัวเลขสามหลักก่อนที่จะส่ง HTML ภาพ หรือ JSON ใดๆ กลับมา ตัวเลขนั้นคือ HTTP status code และเป็นวิธีสั้นๆ ของเซิร์ฟเวอร์ในการบอกว่าเกิดอะไรขึ้น ไม่ว่าจะเป็น หน้าอยู่ที่นี่ มันย้ายไปแล้ว คุณไม่ได้รับอนุญาต หรือบางอย่างพังที่ฝั่งเรา ส่วนใหญ่คุณไม่เคยเห็น code เหล่านี้เพราะทุกอย่างทำงานปกติและหน้าก็โหลดขึ้นมา แต่ทันทีที่เว็บไซต์ทำงานผิดปกติ status code คือเบาะแสแรกที่ควรอ่าน

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

การแสดงภาพเชิงนามธรรมของ web requests และ responses พร้อมไฟ status สีเขียว เหลืองอำพัน และแดงที่เรืองแสง
แต่ละ request ได้รับคำตอบกลับมาหนึ่งอย่าง: เขียวคือสำเร็จ เหลืองอำพันคือ redirect หรือรอ แดงคือข้อผิดพลาด

ห้าประเภท

1xx informational. เซิร์ฟเวอร์ได้รับ request ของคุณและยังทำงานอยู่ สิ่งเหล่านี้พบได้ยากในการท่องเว็บทั่วไปและมักถูกจัดการอย่างเงียบๆ ระหว่างเบราว์เซอร์กับเซิร์ฟเวอร์ 100 Continue คือตัวอย่างคลาสสิก บอก client ว่าสามารถส่ง request body ที่เหลือต่อได้

2xx success. Request สำเร็จ 200 OK คือสิ่งที่คุณต้องการเห็นตลอดทั้งวัน หมายความว่า resource ถูกพบและกำลังส่งกลับมา 201 Created ปรากฏหลังจากที่คุณ submit form หรือ API call ที่สร้างสิ่งใหม่ และ 204 No Content หมายความว่าการกระทำสำเร็จแต่ไม่มีอะไรจะแสดง

3xx redirection. สิ่งที่คุณถามอยู่ที่อื่น และเบราว์เซอร์มักจะตามโดยอัตโนมัติ Redirects รักษา link เก่าให้ยังใช้งานได้และสำคัญมากสำหรับอันดับการค้นหา

4xx client error. มีบางอย่างผิดพลาดกับ request จากฝั่งคุณ ไม่ว่าจะเป็น URL ผิด ไม่ได้ล็อกอิน หรือ resource ที่ไม่มีอยู่ เซิร์ฟเวอร์ยังทำงานปกติ แค่ไม่สามารถรับสิ่งที่คุณส่งมาได้

5xx server error. Request ของคุณดี แต่เซิร์ฟเวอร์สะดุดขณะจัดการมัน สิ่งเหล่านี้ชี้ไปที่ infrastructure ของเว็บไซต์ ไม่ใช่ที่คุณ

Code เฉพาะที่คนมักค้นหา

200 OK คือความสำเร็จธรรมดา หน้าหรือข้อมูลโหลดตามที่คาดไว้

301 Moved Permanently บอกเบราว์เซอร์และ search engine ว่าหน้านั้นมีบ้านใหม่ถาวร นี่คือ redirect ที่เป็นมิตรกับ SEO เพราะมันส่ง ranking signals จาก URL เก่าไปยัง URL ใหม่ ใช้มันเมื่อคุณเปลี่ยน URL อย่างถาวร

302 Found คือ redirect ชั่วคราว URL ต้นฉบับยังเป็นของจริง ดังนั้น search engine จึง index มันต่อไปแทน destination ใช้ 302 เฉพาะเมื่อการย้ายชั่วคราวจริงๆ เช่น การส่ง user ไปยัง landing page ตามฤดูกาล

304 Not Modified คือฮีโร่เงียบๆ ของการท่องเว็บที่รวดเร็ว มันบอกเบราว์เซอร์ว่าสำเนาที่นั่งอยู่ใน cache แล้วยังทันสมัยอยู่ ดังนั้นเซิร์ฟเวอร์จึงข้ามการส่งไฟล์ซ้ำ ข้อมูลน้อยลง หน้าเร็วขึ้น

400 Bad Request หมายความว่าเซิร์ฟเวอร์ไม่สามารถเข้าใจ request ได้เลย มักเกิดจาก syntax ที่ผิดหรือ parameter ที่ไม่ถูกต้อง

401 Unauthorized แปลว่าคร่าวๆ ว่า "ฉันไม่รู้จักคุณ กรุณา authenticate ก่อน" คุณขาด credential ที่ถูกต้อง

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

404 Not Found คือ code ที่โด่งดังที่สุด เซิร์ฟเวอร์ยังมีชีวิตและตอบคุณ แต่ไม่มีอะไรที่ address นั้น มักเกิดจากการพิมพ์ link ผิดหรือหน้าที่ถูกลบหรือย้ายโดยไม่มี redirect

429 Too Many Requests หมายความว่าคุณถูก rate-limit คุณส่ง request มากเกินไปในระยะเวลาสั้น และเซิร์ฟเวอร์ขอให้คุณชะลอลง API ใช้สิ่งนี้อยู่ตลอดเวลา

500 Internal Server Error คือ response "บางอย่างพัง" ทั่วไป เซิร์ฟเวอร์พบเงื่อนไขที่ไม่คาดคิดและยอมแพ้ แต่ไม่บอกว่าอะไร ตรวจดู server logs

502 Bad Gateway ปรากฏเมื่อเซิร์ฟเวอร์หนึ่งซึ่งทำหน้าที่เป็น gateway หรือ proxy ได้รับ reply ที่ไม่ถูกต้องจาก upstream server อยู่ด้านหลัง มักเป็นสัญญาณว่า backend app crash หรือไม่สามารถเข้าถึงได้

503 Service Unavailable หมายความว่าเซิร์ฟเวอร์ overload ชั่วคราวหรือกำลัง maintenance ไม่เหมือน 500 มันบ่งชี้ว่าปัญหาเป็นระยะสั้นและเว็บไซต์ควรกลับมาในไม่ช้า

เซิร์ฟเวอร์ส่ง status orbs เรืองแสงตามเส้นทางข้อมูลที่แสดง HTTP responses
จาก request ถึง response: เซิร์ฟเวอร์ติด tag ทุก reply ด้วย code ก่อนที่เนื้อหาใดๆ จะออกไป

Status codes หมายความว่าอะไรสำหรับ SEO และการดีบัก

สำหรับอันดับการค้นหา ความแตกต่างระหว่าง 301 กับ 302 คือสิ่งที่ทำให้คนสะดุด การย้ายถาวรควรใช้ 301 เสมอเพื่อให้หน้าใหม่ได้รับ authority จากหน้าเก่า 302 ในที่ผิดอาจทำให้ search engine index URL ต้นฉบับและแบ่ง signals ของคุณ ในขณะเดียวกัน 404 จำนวนมากสิ้นเปลือง crawl budget และทำให้ผู้เยี่ยมชมหงุดหงิด จึงคุ้มค่าที่จะ redirect หรือแก้ไข broken links แทนที่จะปล่อยให้มันเน่าเสีย

สำหรับการดีบัก ตระกูลบอกคุณว่าควรมองที่ไหน 4xx ชี้ที่ request ดังนั้นตรวจ URL headers และ credential 5xx ชี้ที่เซิร์ฟเวอร์ ดังนั้นตรวจ application logs, upstream services และว่า deploy เพิ่งพังไปหรือเปล่า คลื่น 502 และ 503 มักหมายความว่า backend ล่มหรือ overload มากกว่าจะเป็นบั๊กในโค้ด คุณสามารถตรวจสอบสถานะที่เว็บไซต์ส่งคืนได้ด้วยเครื่องมือสำหรับนักพัฒนาของเรา และเมื่อ 5xx ดูเหมือนปัญหาการเชื่อมต่อมากกว่าข้อผิดพลาดของแอปพลิเคชัน การค้นหา DNS ด่วนสามารถยืนยันว่า domain ยังคง resolve ไปยัง address ที่ถูกต้อง

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

ข้อผิดพลาด 404 เป็นอันตรายต่อเว็บไซต์ฉันหรือไม่?

404 สองสามอันนั้นปกติและไม่เป็นอันตราย ปัญหาเริ่มเมื่อหน้ายอดนิยมส่งคืน 404 หรือเมื่อ internal links เสียสะสมมาก สิ้นเปลือง crawl budget และทำให้ผู้เยี่ยมชมหงุดหงิด Redirect หน้าที่ย้ายไปและแก้ไข link เสีย

ความแตกต่างระหว่าง redirect 301 กับ 302 คืออะไร?

301 เป็นถาวรและส่ง ranking signals ไปยัง URL ใหม่ ดังนั้นใช้มันเมื่อหน้าย้ายไปตลอดกาล 302 เป็นชั่วคราวและเก็บ URL ต้นฉบับไว้ใน index ดังนั้นใช้มันสำหรับการย้ายระยะสั้นเท่านั้น

ความแตกต่างระหว่าง 401 กับ 403 คืออะไร?

401 หมายความว่าคุณยังไม่ได้ authenticate ดังนั้นการล็อกอินอาจแก้ไขได้ 403 หมายความว่าเซิร์ฟเวอร์รู้จักคุณแต่ยังปฏิเสธการเข้าถึงเพราะคุณขาดสิทธิ์ ดังนั้นการล็อกอินใหม่จะไม่ช่วย

ข้อผิดพลาด 500 หมายความว่าอะไรและแก้ไขอย่างไร?

500 Internal Server Error หมายความว่าเซิร์ฟเวอร์พบข้อบกพร่องที่ไม่คาดคิดขณะจัดการ request ของคุณ ข้อความนั้นตั้งใจให้เป็นแบบทั่วไป ดังนั้นการแก้ไขมักเริ่มต้นด้วยการอ่าน server logs เพื่อหาสาเหตุจริงๆ

ทำไมฉันถึงได้รับ status code 429?

429 Too Many Requests หมายความว่าคุณถูก rate-limit เพราะส่ง request เร็วเกินไป ชะลอลง เคารพ header Retry-After ที่เซิร์ฟเวอร์ส่งคืน และเพิ่ม backoff ให้กับ script และ API clients

503 Service Unavailable หมายความว่าอะไร?

503 หมายความว่าเซิร์ฟเวอร์ไม่สามารถจัดการ request ได้ชั่วคราว มักเกิดจากการ overload หรือ maintenance ตามกำหนดการ มันส่งสัญญาณว่าเป็นปัญหาระยะสั้น ดังนั้นเว็บไซต์ควรกู้คืนได้เองในไม่ช้า