브라우저는 다운로드가 없는데, 왜 APP은 다운로드가 있을까?
추후엔 클라이언트를 앱으로 만들 것. APP을 다운 받는 이유는 자바 등으로 만들어진 '그림 파일'을 다운받기 위해서다 그림과 데이터를 같이 받아야한다.
[ APP ] - @RestController
앱은 주로 RESTful API를 통해 서버와 통신하여 JSON 데이터를 주고받는다. 이를 위해 앱은 @RestController 어노테이션을 사용하여 개발한다. 앱은 HTML이나 CSS로 화면을 구성하는 것이 아니라, 받아온 JSON 데이터를 가공하여 화면에 표시하거나 다른 기능을 수행하기 때문
[ WAS? DB? ] - @Controller
데이터베이스에서 결과셋(RS)을 가져올 때, 일반적으로 자바 오브젝트로 받고, 버퍼에 담을 때, HTML 코드에 자바를 섞는다.
그래서 @Controller 어노테이션을 사용하여 개발한다
서버 사이드 랜더링
서버사이드 렌더링은 서버가 클라이언트에게 보여줄 화면을 구성하기 위해 뼈대와 데이터를 모두 가지고 있는 상태에서 클라이언트에게 전달하는 방식. 서버는 클라이언트의 요청에 따라 데이터를 가져와 뼈대에 직접 그려서 완성된 화면을 클라이언트에게 제공한다.
a가 b한테 그림을 달라고 요청 > b는 그림의 뼈대만 있고(=탬플릿 있음), 세부 내용이 없는 상태...지만 a가 그림을 달라고 하니까 안에 새랑 나무(데이터)를 직접 그려서 a한테 전달함 이게 서버 사이드 랜더링이다. 서버가 뼈대에 모든 것을 다 집어넣어서 클라이언트한테 주는 것
단점 : 서버가 다 그려서 주기 때문에 서버 과부하. 서버는 부하가 적어야 한다!!
클라이언트 사이드 랜더링 ✓
클라이언트 사이드 랜더링은 웹 애플리케이션의 화면을 동적으로 구성하는 방식. 초기에 서버로부터 HTML, CSS와 같은 뼈대를 받아온다. 그리고 브라우저에서는 이 뼈대를 기반으로 화면을 구성하고, 필요한 데이터를 서버에 요청한다. 서버는 클라이언트의 요청에 따라 데이터를 JSON 형태로 응답한다. 클라이언트는 받은 데이터를 JavaScript를 사용하여 동적으로 처리하고, 화면에 데이터를 채워넣는다. 클라이언트 사이드 랜더링을 사용하면 사용자는 화면을 보면서 필요한 데이터를 요청하고, 그에 따른 결과를 실시간으로 확인 가능함
부하를 클라이언트한테 주는 것. 클라이언트는… 부하가 많아도 된다
Ajax(Asynchronous JavaScript and XML) 통신 기술 사용
Share article