...
웹서버 리다이렉션 전략 지침
3XX 상태 코드는 단순히 숫자의 의미를 떠나서 브라우저를 하여금 페이지 이동 행위를 하게 하기 때문에, 언제 어느때에 서버가 클라이언트에게 무슨 상태 코드를 보내서 적절하게 리다이렉션을 요구할지에 대해 전략 지침이 필요하다. 만일 올바르지 않은 리다이렉션을 할 경우 홈페이지에 대한 사이트 랭크나 SEO 점수에 영향이 갈 수 있다.
따라서 웹 서버에서 3XX 상태 코드를 사용하여 요청을 리다이렉트할 필요성이 있을 경우, 어느 상황에 어느 리다이렉트 상태 코드를 사용할지에 대한 간단한 전략 지침을 소개해 본다.
1. 영구히 리소스가 옮겨진 경우
- 도메인을 변경하거나 등 기존 사이트가 완전히 새로운 위치로 옮길 경우
301 Moved Permanetly사용 (영구 리다이렉트)
2. 임시로 리소스가 옮겨진 경우
- 잠시 사이트에 수정이 있거나 테스트를 위해서 사용자를 하여금 임시 페이지로 옮기고 싶을 때가 있다.
- 영구가 아닌 일시로 리다이렉트하고 싶을 때를 말한다.
302 Found사용 (일시 리다이렉트)303 See Other사용 (PGM 패턴을 적용해야 할때)307 Temporary Redirect사용 (메소드를 유지해야 할때)
3. URL 정보를 증강시키고 싶은 경우
- URL 자체에 디렉토리나 쿼리 파라미터로 서버에 전달할 정보를 이것저것 기재하기도 하는데, 만일 정보를 더 증강시키고 싶을경우를 말한다.
- 예를 들어 '/exec' 로 요청을 보내면, url을 증강해서 '/exec/obidos/tg/browse/-/229220/ref=gr_gifts/002-1145265-8016838' 로 요청을 보내는 것이다. (상태 정보가 추가된 URL은 흔히 뚱뚱한 URL이라고도 부른다.)
- 서버는 종종 문맥 정보(Context)를 포함시키기 위해 재 작성된 URL로 리다이렉트한다.
- 즉, 요청이 도착했을 때, 서버는 상태 정보를 내포한 새 URL을 생성하고 사용자를 이 새 URL로 리다이렉트한다.
302 Found사용 (일시 리다이렉트)303 See Other사용 (PGM 패턴을 적용해야 할때)307 Temporary Redirect사용 (메소드를 유지해야 할때)
4. 서버 부하를 낮추기 위해 리다이렉트 할 경우
- 클라이언트를 하여금 덜 부하가 걸린 서버로 리다이렉트 하는 것을 말한다.
302 Found사용 (일시 리다이렉트)303 See Other사용 (PGM 패턴을 적용해야 할때)307 Temporary Redirect사용 (메소드를 유지해야 할때)
5. URL 디렉터리 경로 수정할 경우
- 만일 클라이언트가 URI를 요청하는데 끝에 빗금(/) 같은 것들을 빠뜨렸다면, 대부분의 웹 서버는 상대경로가 정상적으로 동작할 수 있도록 기존 url에 슬래시를 추가한 URI로 리다이렉트한다.
302 Found사용 (일시 리다이렉트)303 See Other사용 (PGM 패턴을 적용해야 할때)307 Temporary Redirect사용 (메소드를 유지해야 할때)
결국 핵심은 도메인 교체와 같은 영구적인 웹사이트 완전 전이를 제외하곤 일시 리다이렉트(301, 303, 307)를 사용하는 것이다.
# 참고자료
https://rankmath.com/blog/bulk-301-redirects-wordpress/
https://download3.vmware.com/vcat/vmw-vcloud-architecture-toolkit-spv1-webworks/index.html#page/Cloud%20Automation%20and%20Orchestration/Architecting%20Multisite%20vCloud%20Director/Architecting%20Multisite%20VMware%20vCloud%20Director.4.30.html
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.