오늘은 API라는 것에 대해서 알아보려고한다.
API는 개발을 하다보면 어디선가 한 번쯤은 들어봤을 법한 단어이다.
API? 프로그래밍 할 때 편하게 짤 수 있게끔 도와주는 거 아닌가?
그렇다면 라이브러리는 뭐지? 라고 생각하면서 점점 복잡해지게 되는 것이다.
이러한 개념을 확실하게 정리해보도록 하자.
API(Application Programming Interface, 응용프로그램 프로그래밍 인터페이스)
API는 말 뜻대로, 응용프로그램에서 사용하기 위한 목적으로 운영체제나 프로그래밍 언어가 제공하는 기능을
제어할 수 있도록 하는 인터페이스를 말한다.
예를 들어,
우리가 흔히 이용하는 유튜브에서 데이터를 가져오려면 유튜브 API를 통해서 원하는 데이터들을 가져오거나 기능을 실행할 수 있는 것이다.
이처럼 구현방식을 알지 못해도 서로 제품 또는 서비스 간의 데이터를 주고 받을 수 있다.
이를 통해 우리는 개발 시간을 단축하고 유연성을 높일 수 있다는 장점이 생긴다.
그런데 보다보면 API 만 본게 아니고 Restful API 라던지 Soap API 라던지를 볼 수 있었을 것이다.
이것들의 다른 점에 대해서도 살펴보자.
Restful API (Representational State Transfer API)
Rest API 라고도 불리는데, 원칙이 정해져 있는 API 방식이다.
주로 JSON, HTML, XLT 등과 같은 텍스트 형식으로 값을 전달하며, HTTP 프로토콜을 기반으로 두고있다.
그렇기에 웹에 최적화되어 있고, 브라우저들 간에 호환성이 좋으며, 성능과 확장성이 뛰어나다.
Soap API (Simple Object Access Protocol API)
Soap API 는 위의 REST 보다 더 복잡한 원칙들이 정해져 있는 방식이다.
자체적으로 프로토콜이며, 보안 등에 더 엄격하므로 은행같은 곳에 더 사용된다.
데이터 값으로는 XML만을 사용하며 민감한 정보들을 다뤄야할 때 주로 사용된다.
이렇게 API에 대해서 알아보았다.
웹 개발을 할 땐 주로 Restful API에 대한 경험을 찾는 이유들도 알게되었고 여러가지 많이 활용해보고 싶다는 생각이 든다.
'오늘의 공부 > CS' 카테고리의 다른 글
Port 에 대해서 (0) | 2022.03.20 |
---|---|
IP, TCP, UDP (0) | 2022.03.20 |
DAO와 DTO, VO 그리고 Entity (0) | 2022.03.20 |