웹 어플리케이션이 싱글페이지(SPA) 서비스를 제공하면서 서버측 랜더링이 점점 축소되는 것 같습니다. 여기서 말하는 서버측 렌더링은 ajax 비동기 방식이 아닌 서버언어를 그대로 사용하여 불러오는 것을 말합니다.

이는 클라이언트 렌더링과 서버측 렌더링으로 바꾸어 말할 수 있습니다. 일단 두 가지를 단순하게 비교하면 초기 페이지를 로딩할 때 클라이언트 렌더링의 로딩 속도보다 서버 렌더링 속도가 더 빠르다 할 수 있죠. 하지만 전페 페이지를 기준으로 본다면 이야기는 달라집니다. 페이지 로딩이 끝난 뒤에도 클라이언트는 계속해서 불러올 수 있으므로 전페로 본다면 클라이언트가 더 빠르다 얘기할 수 있습니다.

그렇다면 어떤 경우에 렌더링 방식이 더 효과적일까요 그리고 꼭 서버언어를 사용하는 경우는 언제가 있을까요? 그리고 그 이유는 무엇일까요?



# 메타 정보의 입력
제 경우 SEO와 관련된 메타 데이터의 경우 비동기 방식을 사용하지 않고 바로 서버언어를 사용하고 있습니다. 메타 정보는 검색엔진최적화(seo)에 매우 큰 영향을 주고 크롤러(crawler)에 의해서 읽혀지면서 어떤 크롤러 방식이냐에 따라 검색엔진의 결과에 차이가 발생할 수 있기 때문입니다.


클라이언트 렌더링이 좋은 이유 중 하나로 유지보수를 예로 들 수 있습니다. 특히 cms를 사용하여 별도 콘텐츠를 만드는 경우 콘텐츠가 바뀌거나 소스가 바뀌거나 할 경우 이 둘을 모두 수정하는 것이 아니라 해당하는 하나의 측만 수정하면 되고 코드 분리가 명확해 대부분의 과정이 훨씬 간단하고 쉽습니다.