728x90
API(Application Programming Interface)
소프트웨어 프로그램이 다른 소프트웨어 프로그램으로 데이터를 전송할 수 있도록 하는 규칙 집합이다.
쉽게말해, 필요한 서비스를 얻기 위해 다른 프로그램과 소통할 수 있도록 하는 인터페이스(메신저 역할) 이자,
주고 받을 수 있는 데이터의 형식을 정하는 규격(매뉴얼)이라고 볼 수 있다.
API종류
접근 방식에 따른 API 종류
1. Private API
내부 API로, 기업이나 연구단체 등에서 자체 제품과 운영 개선을 위해 단체 내부에서만 사용한다.
제 3자에게 노출되지 않는다.
2. Public API
개방형 API로, 모두에게 공개된다.
Public API 중에서도 접속하는 대상에 대한 제약이 없는 경우에는 Open API라고 한다.
오픈 API 사이트 예:
구글 : https://cloud.google.com/apis?hl=ko
공공데이터포털- https://www.data.go.kr/
문화데이터 광장 – https://www.culture.go.kr/data/main/main.do
카카오 : https://developers.kakao.com/tool
3. Parter API
특정 비즈니스 파트너 간의 데이터 공유하기 위한 API로, 특정인만 사용한다.
아키텍처 스타일에 따른 API 종류
REST API, SOAP API, RPC, GraphQL이 있다. 현재 가장 많이 쓰이고 있는 것은 REST API이다.
1. REST API
REST(REpresentational State Transfer) : "표현" 상태를 전송한다.
REST는 HTTP를 잘 활용하기 위한 원칙이라고 할 수 있고 REST API는 이 원칙을 준수해 만든 API이다.
HTTP를 잘 활용하기 위한 원칙은 무엇인가? RESTful한 원칙을 말한다.
- URI로 자원(리소스)을 표현해야 한다.
- 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현된다.
등등..
2. SOAP API
SOAP(Simple Object Access Protocol)는 그 자체로 프로토콜이며, 보안이나 메시지 전송 등에 있어서 REST보다 더 많은 표준들이 정해져있기 때문에 조금 더 복잡하다.
💡 SOAP API vs. REST API
SOAP는 프로토콜이고, REST는 아키텍처 스타일이다.API는 애플리케이션이 서버에 접속할 수 있도록 설계된 일종의 도구이며, SOAP는 서비스 인터페이스를 이용해서 서버에 접근하고, REST는 URI를 이용해서 접근한다.
REST는 HTTP와 JSON을 사용하기 때문에 페이로드의 무게를 가볍게 할 수 있다. 하지만 SOAP에서는 XML에만 의존한다.
더 많은 설명 : https://blog.wishket.com/soap-api-vs-rest-api-%EB%91%90-%EB%B0%A9%EC%8B%9D%EC%9D%98-%EA%B0%80%EC%9E%A5-%ED%81%B0-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80/
참고링크
API, HTTP API, REST API 차이 추천⭐
'공부 > 추가공부' 카테고리의 다른 글
GitHub와 GitLab (0) | 2024.11.19 |
---|---|
선착순 이벤트 시스템 - 동시성 해결(redis, kafka 활용) (0) | 2024.06.05 |
ObjectMapper와 ModelMapper (0) | 2024.04.25 |
[디자인패턴] 프록시 패턴과 프록시 서버 (0) | 2024.04.08 |
[디자인패턴] 전략 패턴(정책 패턴) (0) | 2024.04.07 |