클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능

 

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

2XX : 요청 정상 처리

3XX : 요청을 완료하려면 추가 행동이 필요 (리다이랙트 / 리다이렉션)

4XX : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음

5XX : 서버 오류, 서버가 정상 요청을 처리하지 못함.

 

리다이렉션 이해

3XX 

주문 완료 후 주문 내역 화면으로 이동

제일 많이 사용하는게 PRG : Post/Redirect/Get

 

 일시적인 리다이렉션 (실무에서 엄청 사용)

  리소스의 URI가 일시적으로 변경

  따라서 검색 엔진 등에서 URL을 변경하면 안됨

 

★PRG : Post/Redirect/Get

POST로 주문후에 웹 브라우저를 새로고침하면?   

새로고침은 다시 요청

중복 주문이 될 수 있다

 

>>> POST로 주문후에 새로 고침으로 인한 중복 주문 방지

       POST로 주문후 주문 결과 화면을 GET 메서드로 리다이렉트

       새로고침해도 결과 화면을 GET으로 조회

       중복 주문 대신에 결과 화면만 GET으로 다시 요청

 

>>> PRG 이후 리다이렉트

       URL이 이미 POST -> GET으로 리다이렉트 됨

       새로 고침 해도 GET으로 결과 화면만 조회

 

>>>  이미 많은 애플리케이션 라이브러리들이 302를 기본값으로 사용

 

★ 304 Not Modified  (실무에서 많이 사용)

 캐시를 목적으로 사용

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

 저장된 캐시를 재사용한다.(캐시로 리다이렉트 한다.)

 304 응답은 응답에 메시지 바디를 포함하면 안된다. (로컬 캐시를 사용해야 하므로)

 조건부 GET, HEAD 요청시 사용

 

4XX(클라이언트) 대 오류와 5XX(서버) 대 오류를 가르는 차이?

>>> 4XX 오류는 복구 불가능, 5XX 오류는 복구 하면, 수정 가능

 

왠만하면, 5XX 오류를 만들면 안된다.

 

[출처]- 인프런 김영한  '모든 개발자를 위한 HTTP 웹 기본 지식']  강의듣고 정리

'HTTP' 카테고리의 다른 글

HTTP 헤더 - 캐시와 조건부 요청  (0) 2022.05.11
HTTP 헤더  (0) 2022.05.09
HTTP 메서드 활용  (0) 2022.04.27
HTTP_ 메서드  (0) 2022.04.26
HTTP_ 공부 내용 요약(1)  (0) 2022.04.25

+ Recent posts