API ? (메뉴판, 인터페이스)

YS_Study.log·2022년 1월 12일
1

API (Application Programming Interface)

API는 서로 다른 프로그램간에 소통할 수 있게 도와주는 통신 규약이다.

웹에서 API 는 '서버와 고객간의 통신 규약' , '서버에게 요청해서 데이터 가져오는 방법' 이다.

프로그래밍에서 API란, 내부의 구현사항을 잘 숨겨두고 외부에서 사용하는 사람이 필요한 것만 노출해 두고 쉽게 사용할 수 있도록 한것, 앱이 요청할 수 있고 프로그래밍 가능한 인터페이스를 "API"라고 부릅니다.

컴퓨터에게 요청할때는 정확한 주문방법을 따라 요청을 해야합니다.
그런데 클라이언트 사용자가 서버가 어떻게 구성되어 있는지 알 수 없습니다. 클라이언트가 어떻게 사용 가능한 자원을 파악할 수 있을까요?

예를들어 → 카페에서 메뉴판을 제공하듯이 리소스를 잘 활용할 수 있도록 서버에는 인터페이스(interface) API를 구축, 제공해야 클라이언트가 이를 활용할 수 있습니다.

보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL, URI)를 통해 접근할 수 있게 됩니다.

API 추가 상세설명
예를 들어 일상생활속에서 자판기 커피기계가 내부적으로 어떻게 동작하는지 몰라도 인터페이스를 통해서 우리는 쉽게 사용할 수 있다. 인터페이스가 간단하고 직관적일수록 더 좋은 기계라고 말 할 수있다.

다양한 기기에서 서버에있는 데이터를 읽고 쓰기 위해서는 서버에서 제공하는 web API 들을 이용해서 처리할 수 있다. 네트워크에서 기기들 간에 의사소통을 해나가는 규격사항을 HTTP라고 부른다. 이런 web API를 어떻게 디자인해서 만들건지 정의하는 것이 있는데 예전에는 SOAP이라는 모든 네트워크 요청과 반응을 HTML처럼 생긴 XML이라는 데이터 포맷에 저장해서 주고 받았다면, 현재는 REST가 보편적으로 많이 사용되고 있다. REST는 총 4가지(Post, Get, Put, Delete)로 구성되어 있으며, 새로운 데이터를 만들고 읽고 업데이트하고 삭제할 수 있습니다. GET을 이용해서 유저에 대한 정보를 요청하면 서버로 부터 유저에 대한 데이터를 JSON이라는 포맷을 통해서 받아올 수 있다.

이처럼 서버에서 제공하는 Web API를 통해서 서버에 있는 데이터를 읽어오거나 업데이트 할 수 있다.

그리고 이제는 이런 Web API 뿐만 아니라 라이브러리나 프레임워크에서 우리가 이용할 수 있는 클래스나 함수들을 API라고 부릅니다.

profile
느리지만 조금씩 공부하는 중 입니다. 현재 1년 6개월차 신입입니다 ><!

1개의 댓글

comment-user-thumbnail
2023년 8월 20일

좋은 글 감사합니다!

답글 달기