
401 에러는 서버가 요청을 처리하려면 로그인 또는 인증 정보가 필요한데, 그게 없거나 잘못됐다는 뜻입니다. 일반 사용자라면 재로그인이나 캐시 삭제로 대부분 해결되고, 개발자라면 토큰이나 인증 헤더 쪽을 먼저 확인하시면 됩니다.
401 에러란?
401(Unauthorized)은 클라이언트가 인증되지 않았거나 인증 정보가 부족해서 서버가 요청을 거부했다는 상태 코드입니다. 로그인하지 않은 상태에서 로그인 전용 페이지에 접근하려 할 때 가장 흔하게 만날 수 있습니다.
여기서 많이 헷갈리는 게 403(Forbidden)인데, 401은 “인증 자체가 안 됐다”는 뜻이고 403은 “인증은 됐지만 권한이 없다”는 뜻이라 원인이 다릅니다. 둘을 구분하는 게 해결의 첫 단계입니다.
일반 사용자가 401 에러를 만났을 때
로그인 화면 없이 갑자기 401 에러 페이지가 뜬다면 대부분 아래 순서대로 확인하시면 풀립니다.
1. 로그인 상태 확인 및 재로그인
세션이 만료됐거나 로그인 정보가 서버에서 씹힌 경우가 가장 흔합니다. 로그아웃 후 다시 로그인해보시는 게 첫 번째 시도입니다.

2. 브라우저 캐시와 쿠키 삭제
오래된 인증 쿠키가 남아 있으면 새로 로그인해도 서버가 옛날 정보를 붙잡고 있어서 401이 계속 뜰 수 있습니다. 설정에서 해당 사이트의 캐시와 쿠키만 지우고 다시 접속해보시길 권해드립니다.

3. URL과 접근 권한 재확인
관리자 페이지처럼 별도 권한이 필요한 주소를 잘못 입력했거나 즐겨찾기가 오래된 경우에도 401이 뜹니다. 주소창의 URL이 맞는지, 공개된 페이지 주소는 따로 없는지 확인해보시는 게 좋습니다.
4. 시크릿 모드로 테스트
시크릿(비공개) 창에서는 정상 작동하는데 일반 창에서만 401이 뜬다면 브라우저 확장 프로그램이나 캐시가 원인일 가능성이 큽니다. 확장 프로그램을 하나씩 꺼가며 원인을 좁혀보시면 됩니다.
개발자가 API/서버에서 401 에러를 만났을 때
저도 예전에 협업 프로젝트에서 코드는 똑같은데 팀원 PC에서만 401이 나서 한참 헤맨 적이 있는데, 알고 보니 API 키를 담은 환경변수 이름이 팀원마다 달랐던 게 원인이었습니다. 401은 이렇게 눈에 안 보이는 설정 차이에서 나는 경우가 많아서, 아래 순서로 좁혀가시는 걸 권해드립니다.
1. 인증 토큰 유효성 확인
액세스 토큰이 만료됐거나 잘못 발급된 경우가 가장 흔한 원인입니다. 토큰을 재발급받아 다시 요청해보시면 됩니다.

2. Authorization 헤더 형식 점검
Bearer 토큰 방식이라면 Authorization: Bearer {token} 형식이 정확히 지켜졌는지, 앞뒤 공백이나 따옴표가 섞이지 않았는지 확인이 필요합니다.
3. 환경변수/설정값 통일
로컬에서는 되는데 배포 환경이나 팀원 PC에서만 401이 난다면, API 키를 담은 환경변수명이나 값이 서로 다르게 설정된 경우가 많습니다. .env 파일이나 서버 설정값을 다시 맞춰보시면 됩니다.
4. CORS 및 서버 인증 미들웨어 확인
프론트엔드에서 보낸 인증 헤더가 서버 미들웨어를 거치며 누락되는 경우도 있습니다. 서버 로그에서 실제로 헤더가 도착했는지부터 확인하시는 게 빠릅니다.
401 vs 403 vs 404 헷갈리는 상태코드 비교
| 상태코드 | 의미 | 대표 상황 |
| 401 Unauthorized | 인증 자체가 안 됨 | 로그인하지 않고 요청한 경우 |
| 403 Forbidden | 인증은 됐지만 권한 없음 | 로그인했지만 접근 권한이 없는 자원 요청 |
| 404 Not Found | 자원이 존재하지 않음(또는 존재를 숨김) | 잘못된 주소, 또는 비공개 자원을 숨기고 싶을 때 |
그래도 안 풀릴 때 체크리스트
- 다른 네트워크(와이파이 → 모바일 데이터)에서도 동일하게 뜨는지 확인
- 사이트 자체 장애나 점검 공지가 있는지 확인
- 서버 관리자가 인증 방식을 바꿨거나 접근 권한을 회수했을 가능성 확인
- 그래도 해결이 안 되면 서비스 고객센터나 API 문서의 인증 가이드를 다시 확인
자주 묻는 질문(FAQ)
Q1. 401과 403 에러는 뭐가 다른가요?
401은 인증 자체가 안 된 상태(로그인 안 함)이고, 403은 인증은 됐지만 그 자원에 대한 권한이 없는 상태입니다. 로그인 여부가 둘을 가르는 기준입니다.
Q2. 분명 로그인했는데 왜 401이 뜨나요?
세션이나 토큰이 만료됐는데 화면상으로는 로그인된 것처럼 보이는 경우가 많습니다. 로그아웃 후 재로그인하거나 캐시/쿠키를 삭제하고 다시 시도해보시길 바랍니다.
Q3. API 호출 중 401이 뜨면 뭐부터 확인해야 하나요?
액세스 토큰이 만료되지 않았는지, Authorization 헤더 형식이 맞는지부터 확인하시는 게 가장 빠릅니다. 그다음 환경변수나 설정값이 팀원/서버 간에 다르게 적용되지 않았는지 봐야 합니다.
Q4. 특정 사이트에서만 401 에러가 계속 뜨는데 왜 그런가요?
그 사이트의 인증 쿠키가 오래됐거나 손상됐을 가능성이 있습니다. 시크릿 모드로 접속해서 정상 작동하는지 먼저 확인해보시고, 정상이라면 해당 사이트 캐시와 쿠키만 삭제하시면 됩니다.