[Web] API 그리고 EndPoint

hukim·2020년 10월 25일
13

Web

목록 보기
3/5

API

API (Application Programming Interface, 응용 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있또록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. - 위키백과

API의 사전적 의미는 위와 같습니다.

이미지 출처 : https://moonspam.github.io/What-is-an-API/

위 이미지의 상황에서 손님은 메뉴에 있는 음식을 요청하는 프로그램이라면 셰프는 요리를 만들어서 전달하는 운영 체제입니다. 그리고 이 둘을 연결해주는 종업원이 바로 API의 역할을 합니다.
그리고 식당의 메뉴는 API의 인터페이스라고 할 수 있습니다.

REST API

그렇다면, REST API라는 것은 어떤것일까요?

Representational State Transfer 라는 용어의 약자로서 2000년도에 로이 필딩(Roy Fielding)의 박사 학위 논문에서 최초로 소개됨. 로이 필딩은 HTTP의 주요 저자 중 한 사람으로 그 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표

이미지 출처 : https://www.astera.com/type/blog/rest-api-definition/

REST API는 REST를 통해서 서비스 API를 구현한 것을 말합니다.

REST에 대한 전반적인 이해가 있어야 REST API에 대해 알 수 있습니다.

REST에는 4가지 속성이 존재합니다.
1. 서버에 있는 모든 resource는 각 resource 당 클라이언트가 바로 접근할 수 있는 고유 URL이 존재합니다.

  1. 모든 요청은 클라이언트가 요청할 때 마다 필요한 정보를 주기 때문에 서버에서는 세션 정보를 보관할 필요가 없습니다. 그렇기 때문에 서비스에 자유도가 높아지고 유연한 아키텍쳐 적응이 가능합니다.

  2. HTTP 메소드를 사용한다는 점입니다. 모든 resource는 일반적으로 HTTP 인터페이스인 GET, POST, PUT, DELETE 4개의 메소드로 접근되어야 한다는 것입니다.

  3. 서비스 내에 하나의 resource가 주변에 연관된 리소스들과 연결되어 표현이 되어야 한다는 점입니다.

REST의 구성요소에는 resource, method, message 세 가지로 구성되어있습니다.

REST에서 자원(resource)에 접근할 때 URL로 하게 됩니다.
URL은 자원의 위치를 나타내는 일종의 식별자입니다.

Endpoint

메소드는 같은 URL들에 대해서도 다른 요청을 하게끔 구별하게 해주는 항목이 바로
'Endpoint'입니다.

각각 GET, PUT, DELETE 메소드에 따라 다른 요청을 하는 것을 알 수 있습니다.

결국 Endpoint란 API가 서버에서 자원(resource)에 접근할 수 있도록 하는 URL입니다.

0개의 댓글