[node.js] API 서버운영

Hyo Kyun Lee·2021년 7월 13일
0

node.js

목록 보기
10/34

1-1. Express 개념

Routing을 하기 위한 핵심 라이브러리

기본적으로 웹페이지 접속은 사용자 대역과 Server 대역간의 데이터 송수신, 즉 Routing을 통해 이루어진다.

이때 송수신되는 데이터는 node.js 에서 하나의 객체, 인스턴스로 다루어지며 이 인스턴스는 Express Prototype을 참조한다.

즉 Routing 시 Express 모듈을 사용하여 서로 전달되는 데이터의 직관성(프로그래밍 관점)을 높일 수 있다.

또한 그만큼 로직을 간결하게 구성할 수 있고, 가독성이 높아지는 효과를 얻는다.

1-2. MiddleWare

Express 기능의 핵심 원리 및 기술

사용자와 Server간 데이터 송수신이 이루어지는 과정에서 해당 데이터에 대한 직접적인 접근은 불가능하고, 한번의 가공과정을 거쳐야 한다.

사용자의 request 및 Server의 response는 req.body, res.body 형식으로 접근이 가능하고, 이 body는 bodyparsing(정제된 데이터)임을 의미한다.

쉽게 말하면 node.js에서 다루어지는 데이터(객체)는 한번 raw data가 아닌 한번 정제된 데이터이며, 이렇게 한번의 정제과정을 거치는 개념을 MiddleWare라 한다.

2-1. API

Application Programming Interface

운영체제와 Application간 이루어지는 인터페이스이다.

사용자와 운영체제의 인터페이스가 cmd환경이라면, 운영체제와 Application간 인터페이스는 서로가 이해할 수 있는 언어로 보면 된다.

node.js에서 API는 웹페이지와 리눅스 운영체제 혹은 localhost간 명령어들의 집합이라 보면 될 것이다.

API에 포함되는 개념 중 하나가 Express 이다.

2-2. REST API 개념

REpresentational State Transfer API

서버의 자원과 주소를 정의하는 체계 내에서 네트워킹, 데이터 흐름을 제어하는 명령어의 집합으로 이해하면 좋을 것 같다.

Server가 운영되기 위해선 기본적으로 통신규약을 지켜야 하며, 이 통신규약에는 대표적으로 HTTP, HTTPS 등이 있다.

이 통신규약과 이에 대한 자원 및 주소를 정의하는 체계(=node.js 및 Server 운영체제 등)를 따르는 범위에서 데이터를 제어하는(express, middleware 등) 언어, 혹은 그 과정을 의미한다.

node.js나 Spring 등 웹프레임워크에서 가장 대표적으로 사용되는 REST API는
POST GET 등이 있고, 이 API형태는 보통 JSON DATA 형태로 전달된다.

이러한 체계가 잘 지켜지는 환경을 RESTful한 환경이라 일컫는다.

3. API 서버운영

node.js 체계에 맞게 웹페이지 서버를 운영하는 것

API 서버를 운영한다는 것은, 말 그대로 해당 체계에 맞게 서버를 운영하고 로직을 구성하는 것을 의미한다.

node.js 등 각 웹프레임워크나 Server환경(Server/Serverless/Container 등)에 따라 그 체계 등이 상이할 수 있으므로, 적절하게 활용하는 것이 필요하다.

4. 참고링크

https://velog.io/@gyrbs22/node.js-3%EA%B0%95expressmiddleware
https://ing-yeo.net/2020/02/study-nodejs-create-simple-restful-api-server/
https://www.redhat.com/ko/topics/api/what-is-a-rest-api

0개의 댓글