일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JS
- HTML
- 코딩테스트
- 프론트엔드
- JavaScript
- frontend
- CSS
- media query
- 자바문제풀이
- Servlet
- 코드업
- webpack
- cleancode
- git
- 자바
- TypeScript
- redux
- 그럼에도불구하고
- react-router-dom
- max-width
- node.js
- react
- 반응형 페이지
- node
- 그럼에도 불구하고
- @media
- coding
- java
- 변수
- github
- Today
- Total
그럼에도 불구하고
Http 301 / 302 Redirect의 차이 본문
Http 301과 302 Redirect의 차이를 알아보자.
HTTP Response Status Code는 요청에 대한 웹서버의 응답을 나타내는 코드를 말한다. 이 코드를 바탕으로 웹브라우저나 검색엔진 크롤러는 요청을 어떻게 처리해야 할지 판단한다.
이중 301과 302 코드는 사용자를 새로운 URL로 이동시키는 코드이다.
[ 3XX Redirection ]
HTTP 상태 코드는 보통 5개의 클래스로 구분된다. 우리가 많이 보는 404나 500 코드의 경우도 다 구분이 되어 있다!!
HTTP 상태코드의 첫번째 자리 숫자는 이 코드가 어떤 클래스에 속하는지 나타내는다 301과 302는 "3XX Redirection" 클래스에 속하게 된다.
Redirection 클래스에 속하는 상태코드들은 클라이언트를 지정된 위치로 이동시키거나 참조하게 하는 동작을 말한다.
브라우저가 Redirection 상태코드를 만나면 대부분 새로운 URL로 이동하게 된다.
하지만, 검색엔진 크롤러가 Redirection 상태코드를 만나면 약간 다르게 동작한다.
[ 301, Permanently Moved ]
Permanently는 '영구히, 영구적인' 이라는 뜻이므로, 영구적으로 이동한다는 것이다. 요청된 리소스가 영구적으로 이동 페이지로 이동되었다는 뜻이다.
=> 해당 URL이 영구적으로 새로운 URL로 변경되었음을 나타내며, 검색엔진 크롤러는 301 요청을 만나면 콘텐츠가 완전히 새로운 URL로 영원이 이동했다고 판단한다.
※ 사용시기
예를들어 웹사이트의 도메인을 변경했거나 새로운 URL 구조로 개편했을 때 사용할 수 있다. 검색엔진은 301 요청을 만나면 컨텐트가 새로운 URL로 영원히 이동했다고 판단한다. 따라서 검색엔진은 과거 URL의 페이지랭킹과 평가점수를 새로운 URL로 이동시킨다.
[ 302, Temporarily Moved ]
Temporarily는 '임시적, 임시적인'이라는 뜻이므로, 임시적으로 이동했다는 것을 나타낸다. 요청된 리소스가 임시적으로 이동 페이지로 이동되었다는 뜻이다.
=> 요청한 리소스가 임시적으로 새로운 URL로 이동했음을 나타내며, 검색엔진은 페이지랭킹이나 링크에 대한 점수를 새로운 URL로 옮기지 않으며 기존 URL을 그대로 유지한다. 즉, 기존 URL이 보유한 페이지 랭킹 점수는 그대로 유지하도록 하면서 콘텐츠만 새로운 URL에서 조회하도록 해야 할 때 유용하다.
※ 사용시기
예를들어 쇼핑몰과 같은 전자상거래 사이트에서 인기 있는 제품이 있다고 가정하자.
"만약 이 제품이 일시적으로 재고가 떨어지거나 한정적으로 파는 제품이라면, 해당 제품이 보유한 사이트랭킹을 유지하면서 사용자에게 일시적으로 제품이 품절됐음을 알리거나 한정적으로 보여주려면 어떻게 해야 할까?"
이럴 때 301 Redirect를 이용하거나 페이즈의 콘텐츠를 변경하게 되면 사이트 랭크 점수가 달라질 것이다. 대신 302 Redirect를 사용하면 검색 엔진은 일시적으로 해당 URL의 사이트랭크는 보존하게 되며 사용자는 새로운 URL 컨텐츠를 보게 된다.
[ 301과 302의 차이 ]
301과 302는 그래서 뭐가 다른 걸까?
정리하자면 검색엔진이 크롤링하는 페이지가 다른 것이다.
인터넷 브라우저에서 사용자가 A라는 페이지를 요청했는데, URL이 B라는 페이지로 변경되었다면 해당 페이지는 리다이렉트가 된 것이다. 이럴 때, 301 Redirect를 한다면 검색엔진 크롤링에서는 B라는 페이지에 대한 수집을 하지만, 302 Redirect를 한다면 A라는 페이지에 대해서 수집할 것이다.
※ 주의할 점
높은 페이지 랭크를 가진 URL은 검색결과에서 상위에 노출될 것이다. 따라서 높은 페이지랭크를 가진 URL을 구입하여 콘텐츠만 광고페이지로 이동시키는 부적절한 사례가 증가하고 있다. ( 내가 원하지 않는데 갑작스럽게 광고페이지가 열리는 경우가 이에 해당한다. ) 이 때문에 구글은 302를 자주 사용하거나 부적절하게 사용할 경우 기존 사이트 랭크에 상당한 페널티를 부여한다.
REF: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302
'이모저모 > 개발 이모저모' 카테고리의 다른 글
SaaS(Sortware as a Service)가 뭐죠? (2) | 2023.10.17 |
---|---|
www.naver.com을 주소창에 치면 무슨 일이 일어나나요? (0) | 2023.09.15 |
Git commit message는 어떻게 작성해야 할까? (0) | 2023.06.30 |
딥링킹(Deep linking)이란? (0) | 2023.01.09 |
URI / URL / URN 이란 무엇인가 (2) | 2022.11.12 |