HTML, HTTP API, CSR, SSR

shi9476·2022년 1월 11일
0

Spring Web MVC

목록 보기
4/4
post-thumbnail

1. 정적 리소스


  • 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공
  • 주로 웹 브라우저


2. HTML


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


3. HTTP API


  • http 프로토콜 위에 데이터를 넣어서 내려주는 걸 HTTP API라고 한다.
  • 흔히 REST API라고 알고 있는 영역 또한 HTTP API범주 안에 있고,
  • '자원의 식별', '메시지를 통한 리소스 조작', '자기서술적 메세지', '애플리케이션의 상태에 대한 엔진으로서 하이퍼미디어' 이렇게 4가지의 제약조건에 충족되면 REST API가 되며, 이러한 조건을 만족하며 개발하는 것을 RESTFul API 라고 한다.

  • HTML이 아니라 데이터를 전달
  • 주로 JSON 형식 사용해서 JSON 형태로 데이터 통신
  • 다양한 시스템에서 호출

  • 다양한 시스템에서 호출
  • 데이터만 주고 받음, UI 화면이 필요하면, 클라이언트가 별도 처리
  • 앱, 웹 클라이언트, 서버 to 서버
    • UI 클라이언트 접점
      • 앱 클라이언트(아이폰, 안드로이드, PC 앱)
      • 웹 브라우저에서 자바스크립트를 통한 HTTP API 호출
      • React, Vue.js 같은 웹 클라이언트

    • 서버 TO 서버
      • 주문 서버 -> 결제 서버
      • 기업간 데이터 통신


4. SSR - - 서버 사이드 렌더링


  • 서버에서 HTML 최종결과를 생성해서 클라이언트(웹 브라우저)에 전달
  • 주로 정적인 화면에 사용, 복잡하지 않을 때 사용
  • 관련기술: JSP, 타임리프


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


  • HTML 결과를 자바스크립트를 사용해 웹 브라우저에서 동적으로 생성해서 적용
  • 주로 복잡하고 동적인 화면에 사용, 웹 환경을 마치 앱 처럼 필요한 부분부분 변경할 수 있음
  • 예) 구글 지도, Gmail, 구글 캘린더
  • 관련기술: React, Vue.js
  • 동작하는 순서
    • 요청을 하면 서버에서 javascript 링크를 다시 반환,
    • 웹 브라우저는 서버에 다시 javascript요청하면,서버는 html 렌더링 코드를 보내고,
    • 웹 브라우저는 HTTP API를 통해 데이터를 요청하면, 서버는 DB 조회 후 해당되는 정보를 JSON 형식으로 보낸다.
    • 웹 브라우저는 받은 데이터를 JAVASCRIPT로 HTML 결과를 렌더링해서 결과 출력
profile
궁금증많은소년

0개의 댓글