서버 측 리다이렉트가 효율이 더 좋은 이유

서버와 클라이언트 측 리다이렉트 비교
dustjq1005 · 2025년 02월 13일

리다이렉트 방법은 서버, 클라이언트 2가지가 있습니다. 두 방식의 동작순서는 다음 링크에서 확인해보실 수 있습니다.

서버 리다이렉팅 동작 방식

이번에는 두 동작 방식에서 오는 성능 또는 다른 이점을 확인하여 어느 방식이 더 효율적인가를 알아보겠습니다.


서버 측 리다이렉트가 효율이 더 좋다.

결론부터 말씀드리면 서버 측에서 처리하는 게 여러모로 이점이 많습니다.

  1. 네트워크 요청 수 차이
  2. 불필요한 데이터 전송 차이 (서버 부하)
  3. 리다이렉트 속도
  4. 검색엔진(SEO) 차이

(1) 네트워크 요청 수 차이

먼저, 클라이언트 측 리다이렉트를 설명하겠습니다.

  1. 클라이언트가 서버로 요청합니다.
  2. 서버가 요청에 맞는 Html 응답을 보냅니다.
  3. 응답받은 클라이언트(브라우저)는 html을 렌더링 하고, JavaScript를 실행해 새로운 URL로 이동합니다.
  4. 서버는 새로운 URL에 대해 다시 응답합니다.

다음은 서버 측 리다이렉트 입니다.

  1. 사용자가 서버에 원래 페이지를 요청합니다.
  2. 서버가 즉시 3xx 상태 코드(예: 301, 302)와 새로운 URL을 응답합니다.
  3. 브라우저는 HTML을 다운로드하지 않고 바로 새 URL로 이동합니다.

진행 과정만 봐도 서버가 클라이언트에 비해 적다는 것을 볼 수 있습니다.

클라이언트 측은 총 2번, 서버는 1.5번 요청을 서버에서 처리하게 되면 불필요한 전송을 줄일 수 있습니다. 요구사항에 따라 다르겠지만, 서버에서 끝내면 되는 것을 굳이 클라이언트까지 가서 불필요한 전송을 하는 경우는 잘 못본 것 같네요.

(2) 불필요한 데이터 전송 차이 이유 (서버 부하)

클라이언트 측은 리다이렉트는? 서버가 HTML 페이지를 응답해야 하므로 불필요한 데이터 전송을 하게 되겠죠. 서버 측 리다이렉트는 HTTP 응답만 반환하면 됩니다.

(3) 리다이렉트 속도

클라이언트 측 리다이렉트는 당연히 응답을 받은 후 html 렌더링과 JavaScript가 실행되어야 하니 속도가 느려질 겁니다.
하지만, 서버 측 리다이렉트는 브라우저가 3xx 응답을 받게 되면 즉시 새로운 URL로 이동합니다.

(4) 검색 엔진 최적화(SEO)

마지막은 어떤 사이트든지 구글, 네이버 등 검색 결과에 노출되기를 원하겠죠. 그럴려면 검색 엔진에 최적화 되어야하는데 리다이렉트도 연관이 있는 것 같습니다.

검색 엔진 크롤러window.location.href 같은 JavaScript 기반 리다이렉트를 잘 따라가지 못할 수도 있다고 합니다. 반면, 301 Moved Permanently 또는 302 Found 같은 서버 측 리다이렉트는 검색 엔진 친화적이라고 GPT는 설명하고 있네요.

그래서 한번 찾아보니 구글은 다음과 같이 우선순위를 정하고 있었습니다.

관련된 구글 링크


📌 결론: 서버 측 리다이렉트는 성능, 서버 부하 감소, SEO, UX 모든 면에서 더 효율적입니다.

Comments