HTTP 상태 코드란? 200·301·404·500 숫자의 의미 쉽게 이해하기
HTTP 상태 코드는 서버가 요청을 어떻게 처리했는지 알려 주는 세 자리 숫자입니다. 1xx~5xx 분류, 200·301·401·403·404·500·502·503·504, SEO·소프트 404까지 초보 기준으로 정리합니다.
홈페이지를 쓰다 보면 200·301·404·500·503 같은 숫자를 봅니다. 단순 오류 번호가 아닙니다.
HTTP 상태 코드는 브라우저가 서버에 요청을 보냈을 때, 서버가 그 요청을 어떻게 처리했는지 알려 주는 숫자입니다.
쉽게 말하면 — 요청하신 일을 이렇게 처리했습니다.
식당 주문 결과와 비슷합니다
「김치찌개 하나」 주문에 「네, 됐습니다」「메뉴가 바뀌었습니다」「그 메뉴는 없습니다」「주방 문제로 지금은 안 됩니다」처럼 답이 갈립니다. 홈페이지도 사용자가 페이지를 요청하면 서버가 결과를 숫자로 알립니다. 이 숫자가 HTTP 상태 코드입니다.
브라우저에 주소를 치면 서버에 「화면을 보여 주세요」라고 요청합니다. 정상 표시는 200, 주소 이동은 301, 없음은 404, 서버 문제는 500 등입니다.
왜 세 자리인가 · 첫 숫자만 봐도
- 1xx — 요청 처리 중
- 2xx — 정상 처리
- 3xx — 추가 동작(주소 이동·캐시 재사용 등)
- 4xx — 요청(사용자 쪽) 관련 문제
- 5xx — 서버에서 발생한 문제
모든 번호를 외울 필요는 없습니다. 첫 번째 숫자만 봐도 대략 어떤 종류인지 알 수 있습니다. HTTP·HTTPS 통신 위에서 이 코드가 오갑니다.
1xx · 2xx
1xx는 「요청을 받았고 처리 중」 중간 응답입니다(예: 100 Continue). 일반 방문자가 화면에서 볼 일은 거의 없습니다.
2xx는 정상입니다. 대표가 200 OK — 페이지를 정상으로 보여 준 상태입니다. 201 Created는 새 데이터가 만들어졌다는 뜻으로, 게시물·회원 생성 API 등에서 쓰입니다. 202 Accepted는 요청은 접수했지만 작업이 아직 진행 중일 수 있을 때입니다. 204 No Content는 처리는 됐지만 돌려줄 본문이 없을 때입니다.
3xx · 301과 302
3xx는 넓게 「추가 동작」 계열입니다. 301은 영구 이전(앞으로는 새 주소), 302는 일시 이동에 가깝습니다. 반면 304 Not Modified는 주소 이동이 아니라 「기존 캐시를 쓰세요」입니다. 리디렉션 절차는 리디렉션 가이드를 참고하세요.
4xx · 400·401·403·404
4xx는 요청 쪽과 관련된 문제로 처리를 마치지 못한 상태입니다.
5xx · 500·502·503·504
5xx는 서버 쪽 문제입니다.
방문자 · 운영자 · 검색엔진
방문자는 모든 코드를 외울 필요 없이, 404면 주소·삭제 가능성, 5xx면 서버 쪽 가능성을 구분하면 됩니다.
운영자에게는 신호가 더 중요합니다. 화면에 「없습니다」라고 써 있어도 서버가 200이면 시스템에는 정상 페이지로 보일 수 있습니다. 이런 경우를 흔히 소프트 404라고 합니다. 실제로 없으면 적절한 404를 반환하는 편이 좋습니다.
검색엔진도 상태 코드를 봅니다. 200은 정상 페이지, 301은 영구 이동, 404는 없음, 5xx는 일시적으로 확인이 어렵다고 판단할 수 있습니다. 주소 변경 시에도 올바른 리디렉션 상태가 중요합니다. 5xx가 오래 지속되면 상담·예약·주문·결제까지 막힐 수 있어 빠르게 확인하는 것이 좋습니다.
자주 보는 코드 한눈에
- 200 — 정상
- 301 / 302 — 완전 이사 / 잠시 다른 곳
- 400 — 요청 내용이 잘못됨
- 401 / 403 / 404 — 인증 필요 / 권한 없음 / 페이지 없음
- 500 / 502 / 503 / 504 — 서버 내부 / 이상한 응답 / 일시 불가 / 응답 지연
자주 묻는 질문
HTTP 상태 코드란?
서버가 요청을 어떻게 처리했는지 알려 주는 세 자리 숫자입니다.
200은?
요청이 정상 처리되었다는 뜻입니다. 정상 페이지에서 가장 흔합니다.
3xx는 오류인가요?
반드시 오류는 아닙니다. 주로 주소 이동을 알립니다.
4xx와 5xx 차이는?
4xx는 요청·인증·권한 쪽, 5xx는 서버가 처리하는 중 난 문제에 가깝습니다.
404와 500 차이는?
404는 페이지를 못 찾은 것이고, 500은 서버 내부 오류입니다.
운영자가 꼭 알아야 하나요?
전부 외울 필요는 없지만 200·301·404·500 정도를 알면 오류·검색 상태를 확인하는 데 도움이 됩니다.
정리
2xx = 정상 · 3xx = 이동·캐시 확인 등 · 4xx = 요청 쪽 문제 · 5xx = 서버 쪽 문제
정상 방문에서 가장 흔한 상태가 200 OK입니다. 당연해 보여도 검색엔진이 정상 페이지를 확인하고, 홈페이지가 올바르게 동작하는지를 볼 때 기본이 되는 상태 코드입니다. 「무엇을 요청했는지」는 HTTP 메서드가 알려 줍니다. 개별 오류는 401·404·500·리디렉션 글을 이어서 보시면 됩니다.