새소식

back

http (4) - 상태 코드

  • -

1.

- 1xx 는 거의 사용되지 않음 

 

 

2.

 

서버에서 결과를 정상적으로 잘 처리해서 응답하면 200
웹 문서 편집기에서는 편집하고 저장하고를 반복하는 일이 많은데, 저장 버튼 누르면 ok 응답만 있으면 되고 본문을 응답으로 받아도 할게 없음

- 전부 다 사용하지 않아도 됨

 

 

3.

301~308까지가 중요

- 리다이렉션의 이해: 웹 브라우저는 3xx의 응답의 결과에 location헤더가 있으면, location 위치로 자동 이동(리다이렉트)

서버가 /event 를 location으로 안쓰고 /new-event 를 사용한다고 301응답코드와 함께 클라이언트에게 알려줌 그 후 클라이언트가 다시 요청하고 서버가 알맞은 요청을 받아 알맞은 응답을 함

- 301은 리다이렉트를 요청했을 때 예를 들어 post로 요청한것이 get으로 변경되고, 본문이 변할 수도 있음

- 308은 post로 보낸것이 그대로 post로 되고 내부의 http 바디에 보낼 데이터도 유지

사용자를 이벤트에 등록하는 예제, 리다이렉트를 통해 클라이언트가 url 경로 변경하고 요청 (본문 제거됨), get으로 왔으니 서버는 new-event를 보여달라는 것으로 해석하고 새로운 페이지를 보냄, 클라이언트는 그 때 다시 post로 등록하거나 함
리다이렉트되고 post 유지되고, 메세지 본문도 유지됨

 

- 영구 리다이렉션보다는 일시적 리다이렉션을 많이 사용함

 

 

4.

새로고침은 마지막 요청을 새로고침 하기에 post 요청 후 새로 고침하면 이중 주문이 될 수 있음

 

마지막 요청이 get 이기에 중복 주문 문제가 해결됨

 

 

 

 

 

5.

 

백엔드개발자들이 만들어내는 예외가 해당됨
복구되는 때는 예측불가할 때가 많아서 503보다 500을 사용

- 400대는 클라이언트의 잘못, 500대는 서버 내부의 문제

- 웬만해서 서버에서는 500대를 만들면 안됨

- ex: 고객이 예금을 출금하려 할 때, 잔고가 부족할 때는 500대 사용x

- ex2: 20세 이상 주문가능한 물건, 20세 미만 고객이 요청 > 500대 사용x

> 비즈니스 로직상 예외 케이스일 뿐인지 정상 프로세스임

- 500대 에러는 서버에 문제가 있을 경우만 (심각한 경우, 쿼리에 문제가 생기거나 db가 내려가거나 등) 

'back' 카테고리의 다른 글

http (5) - 헤더  (0) 2023.03.08
http (3) - Http 메서드 / 메서드 활용  (0) 2023.03.08
http (2) - HTTP 기본  (0) 2023.03.08
http (1) - 인터넷 네트워크 / URL / 웹브라우저 요청 흐름  (0) 2023.03.07
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.