면접질문준비

웹 개발에서 서버 측 렌더링과 클라이언트 측 렌더링의 차이점은 무엇입니까?

김옹희 2023. 3. 27. 17:39

웹 개발에서 렌더링은 원시 데이터를 웹 페이지에 표시할 수 있는 시각적 표현으로 변환하는 프로세스를 의미합니다. 여기에는 HTML, CSS 및 JavaScript 코드를 사용자가 볼 수 있는 웹 페이지로 렌더링하는 것과 같은 작업이 포함될 수 있습니다.

 

서버 측 렌더링과 클라이언트 측 렌더링은 웹 페이지를 렌더링하는 두 가지 접근 방식입니다.

 

SSR(서버측 렌더링)은 웹 서버가 서버측에서 요청된 페이지에 대한 HTML, CSS 및 JavaScript를 생성한 다음 클라이언트에 전송하여 브라우저에 표시하는 프로세스입니다. SSR에서 서버는 완전한 형식의 HTML 페이지를 클라이언트에 보내고 브라우저는 단순히 이를 렌더링합니다.

 

반면 CSR(클라이언트 측 렌더링)은 클라이언트의 브라우저가 최소한의 HTML 문서를 로드한 다음 JavaScript를 사용하여 웹 페이지에 필요한 데이터 및 구성 요소를 요청하고 렌더링하는 프로세스입니다. CSR에서 브라우저는 JavaScript 파일을 다운로드한 다음 서버에서 동적으로 데이터를 가져오고 그에 따라 페이지를 업데이트합니다.

 

두 접근 방식의 주요 차이점은 렌더링 프로세스가 발생하는 위치입니다. 서버 측 렌더링에서 웹 서버는 서버에서 완전한 형식의 HTML 페이지를 생성하는 반면 클라이언트 측 렌더링에서는 JavaScript를 사용하여 클라이언트의 브라우저에서 렌더링이 수행됩니다.

 

두 접근 방식 모두 고유한 장점과 단점이 있습니다.

SSR은 검색 엔진 최적화(SEO) 및 초기 페이지 로드 속도에 더 좋고, CSR은 동적 콘텐츠를 처리하고 보다 상호 작용적인 사용자 경험을 제공하는 데 더 좋습니다. SSR과 CSR 사이의 선택은 웹 애플리케이션의 특정 요구 사항과 목표에 따라 다릅니다.