API란, Node.js로 API 구축하기

hahagarden·2023년 9월 1일
0

CS

목록 보기
2/6

API

두 컴퓨터 사이의 서로 통신하는 방법이자 그들의 중간에 위치한 중계계층
프로토콜(HTTP, HTTPS), 메서드(GET, POST), 데이터 타입(JSON, XML)이 정의된 중계계층이다.

API의 장점

  • DB튜닝 등 성능을 높이거나 내부 프로세스가 수정되었을 때 중계계층을 이용하기 때문에 사용자가 직접 앱을 업데이트 해주지 않아도 된다.
  • 어떤 정보가 수정이 되었을 때 API는 수정이 안되도록 만들 수 있다. tall의 값이 바뀌어도 name 정보를 얻는 API는 tall이 바뀌든 말든 변함없이 name을 얻는다.
  • OPEN API
    개발 프로세스를 단순화 시키고 시간과 비용을 절약할 수 있다.
    날씨 API를 사용하면 수치모델, 인공지능모델 등 복잡하고 비싼 장비, 기술 필요없이 OPEN API를 활용하여 날씨 정보를 얻을 수 있다.

API는 과거부터 발전되어온 용어로 라이브러리 및 프레임워크를 설명하는 명세서, 웹상에서 WEB API, Web Socket API 등을 가리키는데 현재는 보통 WEB API를 기준으로 설명한다.

인터페이스
서로 다른 두 시스템, 장치 사이에서 정보나 신호를 주고받는 접점 또는 경계면이다. 컴퓨터의 내부 서버가 어떻게 구현되어있는지는 상관없이 인터페이스를 통해 통신이 가능하다.
사용자 인터페이스는 컴퓨터와 사람을 연결한다. 서로 어떤 시스템인지 내부적으로 몰라도 상호작용이 가능하다.
i.e. 웹툰의 서버와 데이터베이스가 어떻게 구성되어있는지 몰라도 웹툰 서비스를 이용할 수 있다.

Private API

내부적으로 사용된다. 주로 해시키를 하드코딩 해놓고 이를 공유하며 통신한다.

Public API

모든 사람이 사용할 수 있다. 많은 트래픽을 방지하기 위해 하루 요청수의 제한 등이 되어있다.

API v1, v2 버전 나뉘어있는 이유?
업데이트를 하다보면 필연적으로 API를 변경해야 하는 순간이 옴. 이전 API가 엮여있는 서비스가 너무 많기 때문에 곧바로 새로운 API 주소를 변경해서 적용할 수 없음. 이 때 새로 변경된 API를 v2라고 하고 앞으로는 v2를 사용하도록 하고, 기존 서비스는 이전 버전의 v1의 사용 기한을 정해놓음.

API 구축하기

Node.js

JavaScript 비동기적 이벤트 주도 방식, 논블로킹 I/O 모델을 사용하는 구글의 V8엔진을 장착한 JavaScript 런타임이다. Node.js를 사용해서 게임, 알고리즘, 서버 등을 만들 수 있다.

Express

Node.js에서 동작하는 웹 프레임워크이다. 라우팅 설정, 미들웨어 설정, 정적자원서버 설정 등이 쉽다.

라우팅
URI 및 HTTP 메서드를 가진 엔드포인트에 대한 클라이언트 요청에 앱이 응답하는 방법을 결정하는 것

간단한 API 구축

profile
공부한 내용을 기록합니다. 틀린 정보 피드백은 언제나 감사합니다 🌷 이전 블로그 https://hahagarden.tistory.com/

0개의 댓글