(HTTP) 상태 코드 - 307 vs 308
redirect를 위한 HTTP 상태 코드 301과 302에 대해 잘 모르겠다면 아래 링크를 참고하고 글을 읽도록 하자.
301리디렉션 & 302리디렉션의 차이(사용법)
307 Temporary Redirect vs 308 Permanent Redirect
307은 302와 유사하고, 308은 301과 유사하다.
다만 차이점이 있다면 전송 받은 HTTP Method를 유지한다는 것이다.
301과 302는 redirect 시킬 때 method를 get으로 바꿔서 전송한다.
따라서 get 요청을 보낼 때는 문제가 없지만 post 메소드를 요청했을 때 문제가 발생할 수 있다.
http to https redirect를 구현할 때 301 또는 302 상태 코드를 쓰게 되면
http 프로토콜을 통해 post 메소드로 날아온 게 https 프토토콜을 통해 get 메소드로 변경되면서 컨트롤러나 라우터에 매핑되는 URI가 없어서 오류가 나게 된다.
따라서 301 대신에 308을, 302 대신에 307을 쓰면 좀 더 안전하게 redirect 시킬 수 있다.
또한 이제 301과 302를 redirect라는 명칭으로 부를 수도 없다.
301은 Moved Permanently로, 302는 Found로 명칭이 변경되었다.

