그림으로 배우는 Http&Network Basic 정리 - 4장. 결과를 전달하는 HTTP 상태 코드
반응형
이 시리즈는 그림으로 배우는 Http&Network Basic 을 읽고 스터디 하면서 정리한 내용입니다.
추가적으로 포함되어 있는 내용은 GPT 를 이용하여서 정리한 내용으로 참고해주시면 감사하겠습니다.
HTTP 상태 코드?
HTTP 상태코드는 클라이언트의 요청에 대한 서버가 응답하는 상태를 나타내는 3자리 숫자코드이다.
즉, 요청이 성공했는지, 실패했는지, 추가 작업이 필요한지를 서버가 알려주는 신호이다.
✔ 서버는 클라이언트의 요청을 받고, 상태 코드와 함께 응답을 반환
✔ 상태 코드는 3자리 숫자로 구성되며, 첫 번째 숫자가 응답의 유형을 나타냄
✔ 상태 코드 뒤에는 설명 메시지(Reason Phrase)가 포함
HTTP/1.1 200 OK
Content-Type: application/json
{
"message": "Success"
}
➡️ 200 OK → 요청이 정상적으로 처리되었음을 의미.
4.1. 상태 코드는 서버로부터 리퀘스트 결과를 전달한다.
클래스 | 요약 | 설명 | |
1xx | Informational | 정보 응답(요청 진행중) | 리퀘스트를 받아들여 처리가 진행중 |
2xx | Success | 성공(정상 처리 완료) | 리퀘스트를 정상적으로 처리했음 |
3xx | Redirection | 리디렉션(다른위치로 이동 필요) | 리퀘스트를 완료하기 위해서 추가 동작이 필요(ex. 다른 url 이동) |
4xx | Client Error | 클라이언트 오류(잘못된 요청) | 클라이언트 측에서 잘못된 리퀘스트를 보냄 |
5xx | Server Error | 서버 오류(서버 측 문제 발생) | 서버 측에서 리퀘스트 처리 실패 |
1xx: 정보(Informational)
- 많은 웹 서버와 브라우저는 1xx 응답을 자동 처리하기 때문에 직접 볼 일이 적음.
- 일반적으로 HTTP/2 이후 100 Continue가 덜 사용됨.
- 네트워크 프록시나 로드 밸런서가 1xx 응답을 필터링할 수도 있음
아래와 같은 요청으로 강제로 100을 요청할수는 있지만, 잘 쓰지 않음
curl -i -X POST --http1.1 --header "Expect: 100-continue" --data "testdata" https://httpbin.org/post
4.2. 2xx: 성공(Success)
- 200 OK: 요청 성공 (일반적인 응답)
- 204 No Content: 요청 성공했으나 응답 본문 없음(엔티티 바디를 포함하지 않음)
- 206 Partial Content : 요청한 일부 콘텐츠만 성공적으로 제공되었을때 반환되는 상태코드
4.3. 3xx: 리다이렉트(Redirection)
- 301 Moved Permanently: 요청한 리소스가 영구적으로 새로운 URL로 이동했을 때 반환되는 상태 코드
- 302 Found: 일시적으로 다른 위치로 이동
- 303 See Other: GET 요청으로 다른 URL 조회 필요
- 304 Not Modified: 캐시된 데이터 사용 가능 (변경 없음)
- 307 Temporary Redirect: 요청을 다른 URL로 임시 이동 (메서드 유지)
상태 코드 | 설명 | 요청방식 유지 | 검색엔진 영향(SEO) | 예시 |
301 Moved Permanently | 영구적인 URL 변경 | GET 유지, POST → GET | ✅ 새로운 URL 인덱싱 | 도메인 변경, 페이지 영구 이동 |
302 Found | 임시적인 URL 변경 | GET 유지, POST → GET | 🚫 기존 URL 유지 | 로그인 후 대시보드 이동, A/B 테스트 |
303 See Other | POST → GET 변환 후 리디렉트 | 항상 GET으로 변경 | 🚫 영향 없음 | 폼 제출 후 새로고침 방지 |
304 Not Modified | 캐시된 데이터 사용 | 🚫 요청 없음 | 🚫 영향 없음 | 브라우저 캐시 활용, 성능 최적화 |
307 Temporary Redirect | 임시 URL 변경 (메서드 유지) | GET 유지, POST 유지 | 🚫 기존 URL 유지 | HTTPS 리디렉트, API 리디렉트 |
4.4. 4xx: 클라이언트 에러(Client Error)
- 400 Bad Request: 잘못된 요청 (문법 오류 등)
- 401 Unauthorized: 인증 필요 (로그인 필요)
- 403 Forbidden: 접근 금지 (권한 부족)
- 404 Not Found: 요청한 리소스를 찾을 수 없음
상태 코드 | 설명 | 주요 원인 |
400 Bad Request | 잘못된 요청 | JSON 형식 오류, 필수 파라미터 누락 |
401 Unauthorized | 인증되지 않음 (로그인 필요) | API Key 없음, OAuth 토큰 만료 |
403 Forbidden | 접근 권한 없음 | 로그인했지만 권한 부족 |
404 Not Found | 요청한 리소스를 찾을 수 없음 | URL 오타, 리소스 삭제됨 |
4.5. 5xx: 서버 에러(Server Error)
- 500 Internal Server Error: 서버 내부 오류 발생
- 503 Service Unavailable: 서버 과부하 또는 유지보수 중
반응형
'Study Platform📚 > 그림으로 배우는 Http&Network Basic' 카테고리의 다른 글
그림으로 배우는 Http&Network Basic 정리 - 6장. HTTP 헤더(6.6~6.8) (0) | 2025.03.02 |
---|---|
그림으로 배우는 Http&Network Basic 정리 - 5장. HTTP와 연계하는 웹 서버 (0) | 2025.02.18 |
그림으로 배우는 Http&Network Basic 정리 - 3장. HTTP 정보는 HTTP 메세지에 있다 (1) | 2025.02.12 |
그림으로 배우는 Http&Network Basic 정리 - 2장. 간단한 프로토콜 HTTP (0) | 2025.02.11 |
JWT(Json Web Tool) 작동원리와 Refresh Token (0) | 2025.02.11 |
댓글
이 글 공유하기
다른 글
-
그림으로 배우는 Http&Network Basic 정리 - 6장. HTTP 헤더(6.6~6.8)
그림으로 배우는 Http&Network Basic 정리 - 6장. HTTP 헤더(6.6~6.8)
2025.03.02 -
그림으로 배우는 Http&Network Basic 정리 - 5장. HTTP와 연계하는 웹 서버
그림으로 배우는 Http&Network Basic 정리 - 5장. HTTP와 연계하는 웹 서버
2025.02.18 -
그림으로 배우는 Http&Network Basic 정리 - 3장. HTTP 정보는 HTTP 메세지에 있다
그림으로 배우는 Http&Network Basic 정리 - 3장. HTTP 정보는 HTTP 메세지에 있다
2025.02.12 -
그림으로 배우는 Http&Network Basic 정리 - 2장. 간단한 프로토콜 HTTP
그림으로 배우는 Http&Network Basic 정리 - 2장. 간단한 프로토콜 HTTP
2025.02.11