
정적 리소스

HTML 페이지


HTTP API
HTTP API 다양한 시스템 연동
이렇게 보면 백엔드 개발자가 고민해야할 포인트는 3가지이다!
1. 정적 리소스 어떻게 제공할것인가?
2. 동적으로 제공되는 HTML페이지를 어떻게 제공할것인가?
3. HTTP API를 어떻게 제공할것인가?

웹브라우저에 만약 주문내역 주세요! 하고 서버에 요청하면 서버는 주문DB를 조회해서 HTML을 jsp나 타임리프 같은것으로 동시적으로 다 생성한 다음 최종적으로 HTML을 서버에서 다 만드는것이다 . 그래서 서버사이드에서 랜더링 한다고 이야기를 한다!html을 다 렌더링 해서 웹브라우저의 http응답에 html코드를 다 실어서 응답을 보내면 웹 브라우저는 그걸 받아서 html이 왔구나 하고 html을 그냥 그대로 렌더링해서 보여주는것이다.
즉 html을 다 만드는 과정은 서버에서 다 끝내고 웹브라우저는 단순하게 완전히 다 생성된것을 보여주기만 하는것이다. 이런 동적으로 생성된 최정 결과물 HTML이 서버에서 다 생성된다고 해서 서버사이드 렌더링 이라고 한다!!

웹브라우저에서 서버측에 요청한다. order.html에 요청하는것 까지는 서버사이드 렌더링과 똑같다! 그런데 클라리언트 사이드 렌더링의 경우에는 HTML 을 서버에서 응답을 하지만 HTML안에 내용이 하나도 없다. 텅빈 HTML을 내려주고 대신 그 자바스크립트에 대한 , 애플리케이션을 구동하는 자바스크립트가 있는데 그 자바스크립트를 하나 내려준다.
그 링크를 내려주면 웹브라우저가 그 다음에 자바스크립트를 서버에 요청을 한다.
근데 이 자바스크립트 코드 안에는 클라이언트의 로직도 들어있고 HTML을 어떻게 자바스크립로 렌더링 할지에 대한 로직도 여기 다 들어있다.서버에서 그걸 응답을 한다.
그다음 웹브라우저가 가진 애플리케이션 로직이 있는데 HTTP API를 가지고 서버를 호출한다.그럼 서버에서 주문 정보를 조율해서 서벌에서 딱 그 데이터를 내려주면 된다.
json으로 상품명이랑 가격 상품 데이터를 쭉 내려주면 된다!
즉 동적으로 자바스크립트 코드로 html을 만들어서 그걸 이제 html을 동적으로 해서 html이 보이는것이다. 즉 클라이언트 사이드에서 html을 만들어내는것 이것을 클라이언트 사이드 렌더링이라고 한다!
서버사이드 렌더링, 클라이언트 렌더링
어디까지 알아야 하나요!! 백엔드 개발자 입장에서 UI기술
백엔드 - 서버 사이드 렌더링 기술
웹 프론트엔드 - 클라이언트 사이드 렌더링 기술
선택과집중