[nodejs] SSR과 페이지 로딩 속도

서버 사이드 렌더링(SSR)은 프론트엔드 개발에서 중요한 주제 중 하나입니다. SSR은 클라이언트 측에서 렌더링을 하는 것이 아니라 서버에서 초기 렌더링을 하는 방식을 말합니다. 즉, 페이지의 모든 콘텐츠를 서버에서 완성한 후 클라이언트에게 전달하는 방식입니다.

SSR이 중요한 이유

프론트엔드 성능 향상을 위해 SSR을 사용하는 이유는 여러 가지가 있습니다. 첫 번째로 SSR은 초기 렌더링을 서버 측에서 처리하기 때문에 첫 화면이 더 빨리 나타나게 됩니다. 빠른 페이지 로딩 속도는 사용자 경험을 향상시키며 검색 엔진 크롤러에서도 강점이 됩니다.

두 번째로 SSR은 SEO(검색 엔진 최적화)를 위해 중요합니다. 검색 엔진은 클라이언트 렌더링된 콘텐츠를 인식하는 데 제한이 있지만, SSR은 검색 엔진이 페이지의 콘텐츠를 이해하고 색인화하기 쉽게 합니다.

SSR의 구현

Node.js에서 SSR을 구현하기 위해서는 주로 ExpressNext.js와 같은 프레임워크를 사용합니다.

Express를 사용하는 경우, 서버 측 렌더링을 위해 SSR 프레임워크PugEJS 등을 함께 사용할 수 있습니다. 또한 클라이언트와 서버 간의 데이터 통신을 위해 API 호출을 이용하는 것도 일반적입니다.

Next.js는 React 애플리케이션의 SSR을 손쉽게 구현할 수 있는 프레임워크로, getInitialProps 메서드나 Server Side Rendering API를 사용하여 서버 측 렌더링을 구현할 수 있습니다.

SSR과 클라이언트 사이드 렌더링의 혼합 사용

최근에는 SSR과 클라이언트 사이드 렌더링을 혼합하여 사용하는 경우가 많습니다. 첫 화면은 SSR을 통해 빠르게 표시하고, 그 이후에는 클라이언트 사이드 렌더링으로 상호작용성 있는 요소들을 처리하는 방식입니다. 이를 통해 초기 로딩 속도와 사용성을 모두 잡을 수 있습니다.

SSR은 프론트엔드 성능 최적화를 위한 중요한 전략 중 하나입니다. 페이지 로딩 성능과 SEO를 향상시키고 사용자 경험을 향상시키기 위해 SSR을 적극적으로 활용하는 것이 좋습니다.