본문 바로가기
CS 개념정리/네트워크

[네트워크 CS 준비] 6. HTTP STATUS

by 반오십 코린이 2023. 1. 13.
728x90

HTTP의 Status 코드에 대해 설명해보세요

 

1xx: 요청이 수신되어 처리중

2xx: 요청 정상 처리

3xx: 리다이렉션 처리

4xx: 클라이언트 오류

5xx: 서버 오류

 

Status 2xx

 

 

Status 3xx(Redirection)

 

영구 리다이렉션 - 301, 308

 

리소스의 URI가 영구적으로 이동

원래의 URL 사용x

308은 거의 없고 301이 대부분
301은 request의 메시지 바디 정보가 날라가며 HTTP method가 변경, 308은 정보 유지 - HTTP method& 메시지 바디 정보

 

일시 리다이렉션 - 302,307,303

302,303은 거의 같다고 보면 된다. - 301과 영구, 일시 빼곤 같음

307은 리다이렉트시 요처 메서드와 본문이 유지된다. - 308과 영구, 일시 빼곤 같음

 

PRG: Post/Redirect/Get

Post로 주문한 후 웹 브라우저를 새로고침 하면

중복 주문이 들어갈 수 있다.

이를 해결하기 위해 PRG를 사용한다.

처음 POST로 접근하고 서버는 응답으로 redirect를 할 수 있게 새로운 URI를 보낸다.

그 다음 해당 URI로 자동 Redirect 요청(주문 결과 조회)을 서버로 보내고 이에 대한 응답을 받아 

주문 결과 화면을 받는다.

새로고침 하더라도 결과 화면만 재 요청하게 된다.

PRG를 사용하지 않아 POST가 2번 요청이 들어간 모습이다. / PRG를 통해 POST -> Redirection -> GET

 

기타 리다이렉션 - 304

캐시를 목적으로 사용한다.

클라이언트에게 리소스가 수정되지 않았음을 알려준다.

클라이언트는 로컬pc에 저장된 캐시에서 해당 리소스를 다시 사용한다. - 캐시로 리다이렉트

304는 응답에 메시지 바디가 있으면 안된다.

GET, HEAD 요청시 사용

 

4xx - Client Error

400 Bad Request

클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음

 

401 Unauthorized

클라이언트가 해당 리소스에 대한 인증이 필요함

 

403 Forbidden

서버가 요청을 이해했지만 승인 거부 - 인증 자격은 있으나 접근 권한 불충분

예) 어드민 등급이 아닌 사용자가 로그인은 했지만, 어드민 등급의 리소스에 접근하는 경우

 

404 Not Found

요청 리소스를 찾을 수 없음 - 요청 리소스가 서버에 없음 or 권한이 부족한 리소스에 접근할 때 리소스 숨기는 용도

 

 

5xx - Server Error

서버 문제로 오류 발생

재시도 하면 될 수도 있음(클라이언트 문제가 아니기에)

 

500 Interneal Server Error

서버 문제로 오류 발생

 

503 Service Unavailable

서비스 이용 불가 - 일시적 과부하 or 예정된 작업으로 잠시 요청 처리 불가

Retry-After 헤더 필드로 얼마뒤에 복구 되는지 보낼 수도 있음

 

 

김영한 강사님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의에서 참고했습니다

 

 

728x90