301, 302 리다이렉션의 차이

Chori·2021년 10월 7일
1
post-thumbnail

페이지 리다이렉션을 하는 방법으로 두가지 종류가 있다는 것을 알게되어 이번 기회에 정리하고자 한다.

리다이렉션은 사용자가 특정 페이지를 접근했을 때, 의도적으로 다른 페이지로 이동시기는 방법이다.
간단하게는 프론트단인 html과 스크립트 등으로 이동시키는 방법과 서버단에서 이동시키는 방법으로 나눌 수 있다.
서버단 이동이 301 리다이렉트, 프론트단 이동이 302 리다이렉트로 표시된다.

서버단에서 리다이렉트한다고 무조건 301이 되는 것은 아니다.
다르게 말하면 서버단에서 302 리다이렉트가 가능하다.
다만 프론트단에서 301 리다이렉트는 불가능하다.

MDN Web Docs에서 HTTP 상태코드를 정의해 놓은 표를 보면, 상태코드 301과 302의 차이를 알 수 있다.

301 Moved Permanently
이 응답 코드는 요청한 리소스의 URI가 변경되었음을 의미합니다. 새로운 URI가 응답에서 아마도 주어질 수 있습니다.
302 Found
이 응답 코드는 요청한 리소스의 URI가 일시적으로 변경되었음을 의미합니다. 새롭게 변경된 URI는 나중에 만들어질 수 있습니다. 그러므로, 클라이언트는 향후의 요청도 반드시 동일한 URI로 해야합니다.

301 상태코드는 영구적인 리다이렉션 방법이고, 302 상태코드는 임시적인 리다이렉션 방법이다.
301 리다이렉션의 경우 페이지 이동시 이전 페이지의 대한 정보등을 보관하지 않고, 이동하려는 페이지로 즉시 이동한다.
302 리다이렉션은 이전 페이지에 대한 정보를 가지고 있을 수 있다.

301과 302 리다이렉션을 구분해서 사용해야하는 이유는 간단하다.
구글과 같은 검색엔진에서 페이지 검색 노출도 등과 관련이 있기 때문이다.

그렇다면 왜 301과 302 리다이렉션을 나눠놓은 것일까?

301 리다이렉트는 웹사이트의 도메인을 변경했거나, URL구조가 변경되었을 때 사용할 수 있다.
검색엔진은 301요청을 받으면 새로운 URL로 영구적으로 이동했다고 판단한다.
따라서 검색엔진은 과거 URL의 사이트랭크와 평가점수를 새로운 URL로 이동시킨다고 한다.

302 리다이렉트는 영구적인 URL이동이 아닌 임시적인 이동으로 검색엔진이 판단한다.
따라서 검색엔진은 사이트랭크나 평가점수를 새로운 URL로 이동시키지 않고, 기존 URL에 유지한다.
기존 URL 사이트랭크나 점수는 유지하면서 새로운 컨텐츠 URL을 조회할 때 유용하다.

정리

  • 301 리다이렉트는 새로운 URL 혹은 사용하지 않는 페이지를 이동시키는데 적합하다.
  • 302 리다이렉트는 기존 URL에 컨텐츠 URL를 추가하려고 할 때 사용하면 유용하다.
    - 무의미하게 사용할 경우, 검색엔진이 302 리다이렉트를 악용하는 광고 컨텐츠들로 판단해 사이트랭크 점수에 패널티를 부여한다.

참고내용

profile
꾸준한 성장

0개의 댓글