Programming/Spring MVC

[SpringMVC] HTML, HTTP API, CSR, SSR

hyeonic 2021. 3. 14. 10:23
 

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의

웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원

www.inflearn.com

이 게시글은 스프링 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 등이 이에 해당한다.