Application Programming Interface의 약자로
API는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어 할 수 있게 만든 인터페이스를 뜻한다.
인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고 받는 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다.
개발자라면 REST API라는 단어를 들어보았을 것이다.
그렇다면 저 단어의 의미가 뭘까 ?
우선 REST먼저 살펴보자
자원을 이름 ( 자원의 표현 )으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.
즉, 자원(resource)의 표현(representation)에 의한 정보 교환 방식이다.
구체적인 개념을 살펴보면
HTTP URL을 통해 자원(resource)을 명시하고, HTTP Method ( GET, POST, PUT, DELETE )를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
REST 기반으로 서비스 API를 구현한 것이다.
REST API의 특징을 살펴보면
확장성과 재샤용성을 높여 유지보수 및 운용을 편리하게 할 수 있으며 HTTP 표준을 기반으로 구현하므로, HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다.
즉, REST API를 제작하면 클라이언트 뿐 아니라, JAVA, C#, 웹 등을 이용해 클아이언트를 제작할 수 있다.
RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용하는 용어이다. REST API를 제공하는 웹 서비스를 RESTful 하다고 할 수 있다.
RESTful은 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것을 기반으로한다.
*오타 혹은 오류 지적해주시면 감사하겠습니다 !!