728x90
반응형
백엔드를 공부할 때 꼭 알아야하는 지식들이다.
1. 정적 리소스
- 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공
- 주로 웹 브라우저
웹 서버에서 이미 생성되어있는 리소스 파일을 웹 브라우저에게 전달하는 방식이다.
2. HTML 페이지
- 동적으로 필요한 HTML 파일을 생성해서 전달
- 웹 브라우저 : HTML 해석
WAS에서 DB를 조회한 후 동적으로 HTML을 생성한다. HTML을 생성할 때는 JSP, 타임리프를 이용한 후 생성된 HTML을 웹 브라우저에게 제공한다.
3. HTTP API
- HTML이 아니라 데이터를 전달
- 주로 JSON 형식 사용
- 다양한 시스템에서 호출
WAS에서 DB를 조회한 후 HTML을 생성하는 것이 아닌 조회한 데이터를 바로 웹 브라우저에게 정해진 형식으로 전달한다.
- 데이터만 주고 받는다. UI 화면이 필요하면, 클라이언트가 별도로 처리한다.
- 앱, 웹 클라이언트, 서버 to 서버
위 3가지 방식으로 웹 브라우저에게 전달하는 경우가 대부분이므로 꼭 알아야하는 방식이다.
서버사이드 렌더링, 클라이언트 사이드 렌더링
- SSR - 서버 사이드 렌더링
- HTML 최종 결과를 서버에서 만들어서 웹 브라우저에 전달
- 주로 정적인 화면에 사용
- 관련 기술 : JSP, 타임리프 ---> 백엔드 개발자
- CSR - 클라이언트 사이드 렌더링
- HTML 결과를 자바스크립트를 사용해 웹 브라우저에서 동적으로 생성해서 사용
- 주로 동적인 화면에 사용, 웹 환경을 마치 앱처럼 필요한 부분 부분 변경할 수 있음
- ex) 구글 지도, Gmail, 구글 캘린더
- 관련 기술 : React, Vue.js ---> 프론트엔드 개발자
- 참고
- React, Vue.js를 CSR + SSR 동시에 지원하는 웹 프레임워크도 있음
- SSR을 사용하더라도, 자바스크립트를 사용해서 화면 일부를 동적으로 변경 가능
SSR - 서버 사이드 렌더링
서버에서 최종 HTML을 생성해서 클라이언트에 전달
CSR - 클라이언트 사이드 렌더링
학습 방향
백엔드 개발자 입장에서 UI 기술
- 백엔드 - 서버 사이드 렌더링 기술
- JSP, 타임리프
- 화면이 정적이고, 복잡하지 않을 때 사용
- 백엔드 개발자는 서버 사이드 렌더링 기술 학습 필수 !
- 프론트엔드 - 클라이언트 사이드 렌더링 기술
- React, Vue.js
- 복잡하고 동적인 UI 사용
- 프론트엔드 개발자의 전문 분야
- 선택과 집중
- 백엔드 개발자의 웹 프론트엔드 기술 학습은 옵션
- 백엔드 개발자는 우선적으로 서버, DB, 인프라 등 기본적인 백엔드 기술을 학습해야한다.
더보기
참고 : <인프런> 김영한 : MVC 패턴(1) - 웹 애플리케이션 이해
728x90
반응형
'Spring > MVC' 카테고리의 다른 글
HTTP 요청 파라미터 - @RequestParam @ModelAttribute (0) | 2022.07.07 |
---|---|
HTTP 요청 파라미터 - 쿼리 파라미터, HTML form (0) | 2022.07.07 |
[웹 애플리케이션 이해] 동시 요청 - 멀티 쓰레드 (0) | 2022.07.03 |
[웹 애플리케이션 이해] 서블릿 (0) | 2022.07.03 |
[웹 애플리케이션 이해] 웹 서버, 웹 애플리케이션 서버 (0) | 2022.07.03 |