본문 바로가기
컴맹도 할 수 있다/Node.js, Express.js

프론트엔드와 백엔드, 웹 프레임워크

by 구운고기 2022. 9. 28.
반응형

목록

1. 웹 서비스 동작 방식

2. 백엔드와 프론트엔드

3. 웹 프레임워크

1) 의미

2) 웹 프레임워크를 사용하는 이유

3) 웹 프레임워크의 기본 구성 요소

4) Node.js의 웹 프레임워크 종류

 

 

 

 

 

반응형

 

 

1. 웹 서비스 동작 방식

웹 서비스 : HTTP 요청과 응답의 반복으로 동작

HTTP 요청 : 사용자가 필요로 하는 데이터를 서버에 알리는 역할 클라이언트 → 서버

HTTP 응답 : HTTP 요청에 해당하는 적절한 데이터를 전달하는 역할 서버 → 클라이언트

 

                   사용자

응답 시각화 ↑      ↓   url 입력

                웹 브라우저(클라이언트)

 http 응답     ↑      ↓   http 요청 

                      서버

* 인터넷이 웹 브라우저와 서버 연결

 

http 요청 예시 전송된 데이터 사용자가 요청한 데이터
get/http/1.1    
host: localhost:3000  ← 어떤 정보를 필요한지
User-Agent: ~~~(windows ~~)    어떤 사용자

HTTP/1.1 200 OK ←정보 잘받음



<html>
<body>
<h1> </h1>


→ 웹 브라우저가 사용자가 요청한 데이터 html 정보를 보기 쉽게 랜더링해줌

 

 

 


2. 백엔드와 프론트엔드

백엔드 : 유저에게 보이지 않는 데이터 가공 등(서버)

프론트엔드 : 유저가 직접 사용하게 되는 웹페이지를 주로 담당(클라이언트)

 

 

나뉘게 된 이유

정적 웹(web 1.0)과 동적 웹(web 2.0) 때문임

 

정적 웹 (web 1.0) 동적 웹(web 2.0)

사용자와 상호작용하지 않는 페이지 - 단방향 통신

link를 통한(하이퍼링크) 페이지 이동 정도만 가능
일반적으로 변하지 않는 html 파일로 제공
미궁게임 페이지같은건가?

사용자와 상호작용함 - 양방향 통신
사용자가 다양한 기능을 수행할 수 있음
프론트엔드와 백엔드가 유기적으로 통신하며 동작
요즘 웹사이트들 거의다 동적 웹

 

 


3. 웹 프레임워크

 

1) 의미

프레임 워크
웹 서비스에 필요한 기능들을 제공해줌 다양한 도구들의 모음

 

 

 

 

2) 웹 프레임워크를 사용하는 이유

웹 서비스 구성에는 많은 기능이 필요함

하나씩 만들면 단가 높아짐

웹 서비스는 많은 부분이 정형화 되어있음

프레임워크를 사용해서 정형화된 부분을 간단하게 구현

→ 필요한 부분만 집중 개발 가능해짐

    웹 서비스를 빠르게 구성할 수 있음

 

 

 

 

3) 웹 프레임워크의 기본 구성 요소

웹 서비스의 틀을 웹 프레임워크가 기본적으로 제공

* http 요청 처리

* http 응답 처리

* 라우팅

* html templating

 

http 요청 처리 !  http 응답 처리 ←⊃ 라우팅 html templating

웹 프레임워크는
http 요청을 처리할 수 있음

어떤 데이터가 필요한지
어떤 사용자로부터
요청이 수신되었는지 등
웹 프레임워크는
http 응답을 처리할 수 있음

응답 데이터가 어떤 형식인지
응답 상태가 정상적인지 등
(ok, not found, ...)
웹 프레임워크는
http 요청을
분기하는 방법으로 제공함

http 요청 url에 해당하는
알맞은 응답의 경로를
미리 설정
웹 프레임워크는 응답으로 보낼 html을 서버에서 작성하기 위해
html template를 통해 미리 페이지의 뼈대를 작성 가능

걍 티스토리 스킨같은 템플릿

 

* 분기 

요청 a ↘               ↗ 응답 a

요청 b →   라우터 → 응답 b

요청 c ↗               ↘ 응답 c

멀티충전선같은..

 

 

 

 

4) Node.js의 웹 프레임워크 종류

* Express.js : Node.js의 가장 유명한 웹 프레임워크

* Koa.js 현대적인 JavaScript를 적극적으로 사용하는 웹 프레임워크

* Nest.js - TypeScript 를 사용하며 고정된 구조를 제공하는 웹 프레임워크

* 기타 - Hapi.js, Sails.js, Meteor.js 등

 

 

 

 

 

반응형

댓글