본문 바로가기

programming/JS

서버 함 만들어보까? | API와 HTTP


API - Application Programming Interface

인터페인스란 서로 다른 양 물체가 상호간 정보나 신호를 주고받기 위해 필요한 접점이나 경계면과 같은 의미가 있다.

상호 소통을 위한 "교량"정도가 아닐까?

 

실생활에서도, 입력, 출력을 대신 해주는 아이콘, 마우스 등의 다양한 인터페이스가 있지만, 

API는 응용 프로그램들간의 접점이다.(운영체제에서 실행되는 모든 소프트웨어 =>브라우저, 카톡, 메모장 등등)

 

특히 웹 개발자가 되는 우리에게 API란,

3세대 웹에 들어 양분화된 프론트앤드와 백앤드의 사이에서 소통이 되는 접점이라고 생각하면 된다.

 

사실은 프론트엔드와 백앤드가 아니라, 클라이언트와 서버지만 이는 상대적인 개념이여서, 이런 식으로 이해하는 것이 빠르지 않을까 싶다.

 


웹에서의 API는 웹 브라우저 혹은 모바일 어플리케이션을 일컫는, 즉 정보를 요청하는 클라이언트와 상반되는,

정보를 제공하는 데이터베이스 에플리케이션 사이에서 작동한다.

더보기

DB의 경우, 데이터를 영구적으로 보존한다.

DB를 사용하지 않을 경우, 쿠키나 로컬 스토리지 등으로 정보를 저장할 수 있다.

하지만 이는 휘발성이 강하며, 서버든 클라이언트든 전원을 껐다 키면 같이 사라진다.

 


HTTP - HyperText Transfer Protocol

HTTP은 HTML로 만든 웹 페이지를 주고 받는 방법에 대한 국제적인 통신 규약이다.

물론 상황이 완벽하게 동일하진 않지만,

국립국어원에서 한국어에 대한 통일된 규범을 내놓듯, 이러한 컴퓨터의 소통 방법에도 통신 규약을 만들어놓은 것이다.

eless특징

  1. Request / Response ( 요청 / 응답 )

  2. Stateless ✫
    각각의 HTTP 통신(요청, 응답)은 독립적이기 때문에, 과거의 통신에 대한 내용은 전혀 기억하지 못한다.
    결국, 매 통신마다 필요한 모든 정보를 담아 요청을 보내야 한다는 것을 의미합니다!