컴퓨터를 만지다 보면?? api에 관한 이야기가 많이 나오는데 오늘은 api에 대해 공부하는 시간을 가져볼까 한다.
API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)라고 한다.
우선
api의 정의는
api는 관련 없는 두 애프리케이션이 서로 통신할 수 있도록 하는 소프트웨어 중개자 역할을 한다.
데이터를 요청하는 클라이언트 >>>>>>>>>>> 데이터 요청을 받는 서버
mobile app >>>>>>>>>>> Database
api는 생성된 시기와 이유에 따라 4가지 방식으로 작동하는데
대충 이런 형태이다
SOAP API
단순 객체 접근 프로토콜을 사용한다.
클라이언트와 서버는 XML을 사용하여 메시지를 교환하고 과거에 많이 사용되고 유연성이 떨어진다.
REST API
경량 웹 서비스 및 모바일 애플리케이션의 요구 사항에 맞는 일련의 아키텍처 이다.
요구할때 통신을 할 수 있게 해준다.
Websocket API
ws프로토콜을 기반으로 클라이언트와 서버 사이에 지속적인 완전 양방향 연결 스트림을 만들어 주는 기술이다.
연속된 데이터를 빠르게 노출 해줄때 유용하다.
RPC API
RPC(원격 프로시저 호출) 다른 컨텍스트에서 함수의 원격 실행을 허용한다.
서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송할때 사용한다.
위 4가지에 대해서는 더자세히 따로 정리해야겠다.
API의 엔드포인트
api 엔드포인트란 API가 요청되고 호출하는 것이 수행되는 곳 이다.
1. 보안
api엔드 포인트는 시스템을 공격에 취약하게 만듭니다.
2.성능
API엔드포인트 , 특히 트래픽이 많은 엔드포인트는 병목 현상을 일으키고 시스템 성눙에 영향을 줄 수 있습니다.
이렇게 2가지 이유로 api의 통신시스템의 최정 접점인 엔드포인트가 중요합니다.
'기술 지식' 카테고리의 다른 글
[자료 구조] 스택과 큐 (0) | 2022.12.21 |
---|