-
[SpringMVC] HTML, HTTP API, CSR, SSRProgramming/Spring MVC 2021. 3. 14. 10:23
이 게시글은 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 듣고 느낀점과 배운 것들을 다시 한 번 각색하여 정리한 것입니다.
HTML
정적 리소스는 말 그대로 정적인 자원들이다. 정적이라는 말은 결국 변하지 않는 다는 의미이고, 미리 생성할 수 있다. 이러한 자원들은 미리 생성되어 있고 웹 서버로 요청이 들어오면 단순히 생성되어 있는 자원들을 응답한다.
하지만 상품 내역과 같이 database에 있는 자원들을 보기 위한 html 요청을 위해서는 WAS의 도움을 받아서 동적으로 html을 생성해야 한다. JSP나 템플릿 엔진인 타임리프가 동적인 html 생성을 도와준다.
HTTP API
HTTP로 HTML 뿐만아니라 단순한 데이터를 가지고 통신할 수 있다. 주로 JSON이나 XML의 형식을 사용하여 데이터를 전달한다. 이러한 데이터 들은 WAS에 전달되어 해당하는 데이터를 database에서 조회하고 가공하여 응답한다.
이러한 HTTP API는 웹 클라이언트 뿐만 아니라 흔히 사용하는 스마트폰인 앱 클라이언트 그리고 서버와 서버 사이에서도 주고 받을 수 있다. 이렇게 모든 요소를 하나의 웹 애플리케이션으로 구성하는 아니라 각 구성 요소를 나누고 HTTP API로 통신하여 마이크로 서비스를 구성하기도 한다.
SSR
server side rendering. html의 최종 결과를 서버에서 온전히 작성하여 웹 클라이언트에게 전달한다. 단순히 정적 리소스이거나 혹은 동적으로 생성된 html이라도 서버에서 랜더링 되어 클라이언트에게 전달되면 SSR에 해당한다. JSP나 타임리프가 이에 해당한다.
CSR
html 결과를 서버에서 만드는 것이 아니라 자바스크립트를 사용하여 웹 브라우저에서 동적으로 생성하여 적용한다. 단순히 서버에서 자바스크립트나 데이터들을 제공받고 이러한 데이터를 가공하여 웹 브라우저에서 html 페이지를 작성한다. React나 Vue.js 등이 이에 해당한다.
'Programming > Spring MVC' 카테고리의 다른 글
[SpringMVC] SpringMVC 구조 (0) 2021.03.18 [SpringMVC] 프론트 컨트롤러 패턴 (0) 2021.03.15 [SpringMVC] 멀티 쓰레드 (0) 2021.03.14 [SpringMVC] 서블릿 (0) 2021.03.13 [SpringMVC] web server와 WAS (0) 2021.03.13