22/01/2026
😵 หลายคนที่เพิ่งเริ่มทำเว็บหรือเริ่มจับงาน API ใหม่ ๆ มักจะสะดุดกับระบบ authen ตั้งแต่วันแรก โดยเฉพาะตอนที่ลองเรียก API แล้วโดนเด้งกลับมาด้วย 401 หรือ 403 จนเริ่มไม่แน่ใจว่า “เราทำอะไรพลาด หรือระบบมันล่มตรงไหนกันแน่?”
ในฝั่งของ 401 Unauthorized ให้มองว่าเป็นด่านแรกของระบบความปลอดภัย ระบบยังไม่ยอมรับว่าเราเป็นใคร เพราะยังไม่มีหลักฐานมายืนยันตัวตนที่ถูกต้อง อาจลืมแนบ token, แนบแล้วแต่หมดอายุ หรือ token นั้นไม่ผ่านการตรวจสอบ ถึงจะเคย login มาแล้ว ถ้า request นี้ไม่มีข้อมูลยืนยันตัวตนครบ ระบบก็ยังปฏิเสธอยู่ดี
ส่วน 403 Forbidden คือด่านถัดมา หลังจากที่ระบบรู้แล้วว่าเราเป็นใคร แต่กำลังเช็กต่อว่า “มีสิทธิ์พอไหม” ถ้า role หรือ permission ไม่ตรงกับ resource ที่ขอไป ระบบจะปิดประตูทันที ต่อให้ token ถูกต้องทุกอย่าง แต่สิทธิ์ไม่ถึง ก็เข้าไม่ได้อยู่ดี
จุดที่มือใหม่พลาดบ่อยคือเอา 401 กับ 403 ไปใช้สลับกัน เช่น ผู้ใช้ login แล้วแต่ไม่มีสิทธิ์ กลับส่ง 401 ทำให้ฝั่ง frontend เข้าใจผิด คิดว่าต้องพาไป login ใหม่ ทั้งที่จริง ๆ ควรบอกว่า “ user ไม่มีสิทธิ์เข้าหน้านี้” ซึ่งทำให้ UX เพี้ยนโดยไม่รู้ตัว
ถ้าออกแบบ status code ให้ถูกตั้งแต่ต้น ทีม backend จะสื่อสารกับ frontend ได้ง่ายขึ้น Debug ก็เร็วขึ้น และเวลามีปัญหา Production จะไล่ต้นตอได้ชัดว่าเป็นเรื่อง authen หรือ authorize ไม่ต้องเดากันมั่ว ๆ
เรื่องพวกนี้ดูเหมือนเล็ก แต่เป็นพื้นฐานสำคัญของการทำระบบจริง ยิ่งเข้าใจ 401 กับ 403 ชัดเท่าไร ยิ่งทำเว็บหรือ API ได้แบบมืออาชีพมากขึ้นเท่านั้น
🦖 - พร้อมเปลี่ยนคนทำงาน ให้ก้าวสู่การเป็น Dev / Tech Expert