렌더링이란 서버로부터 요청해서 받은 내용을 브라우저 화면에 보여주는 것을 의미한다. 렌더링은 아래의 과정을 통해 진행된다.
서버사이드 렌더링은 html,css,js를 직접 올리는 것이 아니라 해당 파일들을 만들어 낼 수 있는 로직을 올리고 서버에서 해당 로직을 실행해서 최종적으로 html,css,js를 만들어 브라우저에 전달한다. 만들어진 html파일에는 이미 DOM이 다 구성되어 있다. 이미 DOM이 다 구성된 파일을 브라우저가 받기 때문에 바로 그릴 수 있어 초기 구동 속도가 빠르다. DOM에 이미 내용이 다 차 있어 검색 엔진들이 정보를 수집할 때 유리한 면이 있다.
클라이언트에서 렌더링하는 방식. 브라우저는 웹서버로부터 js파일을 실행하면서 DOM에 내용을 추가하고 그리게 된다. 초기에 js를 읽어 무엇을 그려야 할 지 판단하고 그리는 작업을 하는 동안 딜레이가 생긴다. 하지만 이후 작업에 있어서는 서버의 의존도 없이 클라이언트 혼자 그릴 수 있으므로 빠른 화면 전환이나 인터렉션이 가능하다. index.html에 단순히 뼈대만 있기 때문에 검색 엔진의 봇들이 크롤링할 때 아무 내용이 없어 SEO에 불리하다.
단일 페이지로 구성된 웹 어플리케이션을 말한다. SPA는 화면 이동 시에 필요한 데이터를 서버로부터 html으로 받지 않고 json으로 전달받아 동적으로 렌더링한다.
기존 어플리케이션은 화면이동 시에 html을 서버에서 받아 처음부터 다시 로딩하기 때문에 시간이 걸린다. 하지만 SPA에서는 화면 구성에 필요한 모든 html을 클라이언트가 갖고 있고 서버사이드에는 필요한 데이터를 요청하고 json으로 받기 때문에 기존의 어플리케이션에 비해 화면을 구성하는 속도가 빠르다.