HTML, HTTP API, CSR, SSR

현시기얌·2022년 3월 10일
0

Spring MVC

목록 보기
4/22

정적 리소스

  • 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공한다.
  • 주로 웹 브라우저
  • 만약 /hello.html을 요청하면 웹서버에서 이미 생성되어 있는 hello.html을 응답해준다.

HTML 페이지

  • 동적으로 필요한 HTML 파일을 생성해서 전달한다.
  • 웹브라우저는 HTML을 해석한다.

HTTP API

  • HTML이 아니라 데이터를 전달한다.
  • 주로 JSON 형식을 사용한다.
  • 다양한 시스템에서 호출할 수 있다.
  • UI 클라이언트 접점
    • 웹 클라이언트(아이폰, 안드로이드, PC 앱)
    • 웹 브라우저에서 자바스크립트를 통한 HTTP API 호출
    • React, Vue.js 같은 웹 클라이언트
  • 서버 to 서버
    • 주문 서버 -> 결제 서버
    • 기업간 데이터 통신

SSR, CSR

SSR - 서버 사이드 렌더링

서버에서 최종 HTML을 생성해서 클라이언트에 전달

  • 웹 브라우저에서 서버에 주문 내역을 요청하면
  • 서버는 DB에서 주문 정보를 조회한 다음에
  • 동적으로 HTML을 생성한다.
  • 즉 서버에서 최종적으로 HTML을 만들어서(Rendering) 웹 브라우저에게 응답한다.
  • 웹 브라우저는 HTML을 보여주기만 하면 된다.
  • HTML 최종 결과를 서버에서 만들어서 웹 브라우저에 전달한다.
  • 주로 정적인 화면에 사용된다.
  • 관련 기술 : JSP, Thymeleaf -> 백엔드 개발자

CSR - 클라이언트 사이드 렌더링

  1. 웹 브라우저에서 서버에 주문 내역을 요청한다.
  2. 서버에서 빈 껍데기의 HTML을 응답해준다.
  3. 서버는 그 대신에 자바스크립트 링크도 응답해준다.
  4. 웹 브라우저는 응답 받은 자바스크립트 링크를 요청한다.
  5. 서버는 클라이언트 로직과 HTML 렌더링 코드가 들어가 있는 자바스크립트를 응답해준다.
  6. 웹 브라우저는 HTTP API를 요청한다.
  7. 서버는 API를 응답해준다.
  8. 웹 브라우저는 자바스크립트와 API 데이터를 이용해 결과를 렌더링한다.
  • HTML 결과를 자바스크립트를 사용해 웹 브라우저에게 동적으로 생성해서 적용한다.
  • 주로 동적인 화면에 사용한다. 웹 환경을 마치 앱처럼 필요한 부분부분 변경할 수 있다.
  • ex) 구글 지도, Gmail, 구글 캘린더
  • 관련 기술 : React, Vue.js -> 웹 프론트엔트 개발자
profile
현시깁니다

0개의 댓글