401 Unauthorized란? 로그인이 필요할 때 나타나는 오류 쉽게 이해하기
401은 페이지에 접근하기 전에 먼저 본인이 누구인지 인증해야 한다는 뜻입니다. 403과의 차이, 세션·쿠키·토큰·API 키, HTTPS와의 관계까지 초보 기준으로 정리합니다.
홈페이지에 접속했는데 401 Unauthorized가 나올 때가 있습니다. 403 Forbidden과 비슷해 보이지만 의미가 다릅니다.
401은 요청한 페이지에 접근하기 전에 사용자가 누구인지 먼저 인증해야 한다는 뜻입니다.
쉽게 말하면 — 이곳에 들어가려면 먼저 신분을 확인해 주세요.
출입증 확인과 비슷합니다
로비는 누구나 들어갈 수 있지만 직원 구역은 출입카드가 필요합니다. 경비원이 「출입카드를 보여주세요」라고 요구하는 것과 같습니다. 페이지가 없는 것도, 반드시 영원히 금지된 것도 아닙니다. 서버가 「먼저 본인이 누구인지 확인할 정보를 보내주세요」라고 요청하는 상태입니다.
왜 숫자 401인가 · 403과의 차이
HTTP 상태 코드로 결과를 알립니다. 200 정상, 401 인증 필요, 403 접근 권한 없음, 404 페이지 없음입니다.
- 401 — 출입카드를 보여주세요 (아직 신원 확인 전)
- 403 — 카드는 확인했지만 이 구역은 출입 불가
일반 홈페이지는 회원 전용에 401 화면 대신 로그인 페이지로 이동시키는 경우가 많아, 숫자를 자주 못 볼 수도 있습니다. 서버·API에서는 401이 흔합니다.
흔한 발생 상황
- 미로그인 — /mypage 등 회원 전용
- 세션 만료 — 오래 방치·자동 로그아웃 후 다시 사용
- 잘못된 인증정보 — 아이디·비밀번호·토큰이 틀림
- API — API 키·액세스 토큰·Authorization 헤더 누락·오류
API 키는 외부 서비스에 보내는 출입카드, 토큰은 입장 확인 후 받는 팔찌와 비슷합니다. 없거나 만료되면 401이 날 수 있습니다.
로그인했는데도 · 쿠키 · 새로고침
세션·쿠키 삭제·토큰 만료·서버가 인증정보를 인식하지 못하면 로그인했다고 느껴도 401이 날 수 있습니다. 쿠키는 「이미 로그인함」 확인표와 같습니다. 새로고침은 일시 통신 오류에만 도움이 되고, 만료면 다시 로그인해야 합니다.
관리자 · 방문자 · 운영자
관리자 URL에 미인증 접근하거나 웹서버 기본 인증이 실패하면 401이 날 수 있습니다. 방문자는 다시 로그인·새 탭·쿠키 설정·계정 정보를 확인합니다. 운영자는 의도된 401인지, 로그인 후에도 반복되는지 구분하고 세션·쿠키·토큰 기간·API 키·서버 인증 설정·최근 로그인 수정을 봅니다.
비밀번호 오류만은 아님 · 401→403
401은 「인증정보를 확인하지 못함」의 넓은 뜻입니다(없음·만료·잘못된 API 키 등). 로그인 실패를 반복하면 보안이 IP를 막아 403으로 바뀌는 경우도 있습니다. 일부 시스템은 관리자 URL 존재를 숨기려고 401/403 대신 404처럼 보이기도 합니다.
HTTPS · API · SEO
401은 HTTPS 오류가 아닙니다. 다만 로그인·토큰을 주고받을 때는 HTTPS·SSL이 중요합니다. API에서는 Authorization 헤더 등에 출입증을 붙여 보냅니다. 공개해야 할 소개·상품 페이지가 실수로 401이면 검색·유입에 불리하고, 마이페이지처럼 원래 로그인이 필요하면 검색 노출이 필수는 아닙니다.
예방 · 사용자 안내
- 세션 생성·만료 · HTTPS · 토큰 만료 시 재로그인 경로
일반 사용자에게 숫자만 보여주기보다 「로그인이 필요합니다 · [로그인하기]」 또는 「로그인 시간이 만료되었습니다」처럼 안내하는 편이 낫습니다. 서버 상태는 401을 쓰면서 화면은 쉽게 설명할 수 있습니다.
자주 묻는 질문
401이란?
페이지·기능을 쓰기 전에 사용자 신원을 인증해야 한다는 뜻입니다.
로그인하면 되나요?
로그인 필요 페이지라면 다시 로그인하면 될 수 있습니다. 인증 시스템 문제면 운영 점검이 필요합니다.
403과 차이는?
401은 인증 필요·인증정보 이상, 403은 권한이 없는 상태입니다.
로그인했는데 401?
세션·토큰 만료나 쿠키가 안 넘어간 경우가 많습니다.
API에서 401?
API 키·토큰이 없거나 잘못·만료된 경우입니다.
서버 고장인가요?
보통 아닙니다. 인증을 확인하지 못한 상태일 수 있습니다. 500과는 다릅니다.
정리
401 = 들어가기 전에 출입증을 보여주세요.
미로그인·세션 만료·잘못된 API 키·토큰 등에서 납니다. 401 = 인증 필요, 403 = 권한 없음으로 기억하세요. 401·403·404·500 같은 숫자는 모두 서버가 요청 처리 결과를 알려 주는 HTTP 상태 코드입니다. 1xx·2xx·3xx·4xx·5xx 전체 분류는 HTTP 상태 코드란?에서 이어서 보시면 됩니다.