서버에서 결과를 정상적으로 잘 처리해서 응답하면 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가 내려가거나 등)