1.API(Application Programming interface)
:각 회사에서 자사의 애플리케이션의 데이터와 기능을 공개하면서 여러 서비스와 제품을 서로 통신하고 상호 데이터와 기능을 활용하는 것이 가능하게 함
2.API 작동 방식
- 클라이언트 애플리케이션에서 API호출을 한다. (request)
- -> 애플리케이션에서 웹 서버로 전달되는 이 요청은 API의 URI(Uniform Resource Identifier)를 사용해 처리함
- -> 여기서 요청할 때, 동사, 헤더, 본문도 포함됩니다.
- API가 유효한 요청을 받으면, 웹 서버에 호출
- 서버가 API에 응답하면서 요청받은 정보를 보냄
- 정보를 받은 API가 요청했던 클라이언트에 데이터를 전송
3. API의 보안
- API는 본연의 기능상의 보안을 제공한다. 두 시스템 사이에서 중개자의 역할을 하면서 기능을 추상화하기 때문
- -> API 앤드포인트가 서비스를 소비하는 클라이언트와 제공하는 서버 인프라를 분리
- API 호출시 인증 자격 증명이 포함되어 서버 공격 위험을 줄임
- API 게이트웨이는 access를 제한하여 보안 위험을 최소화
- 추가적으로, HTTP헤더, 쿠키, 또는 쿼리 문자열 매개변수에 의해 더 강력한 데이터 보안이 이루어짐
*api앤드포인트?
:Restful api를 통해 서버에 액세스할 수 있도록 해주는 URL(전체적이고 구체적인 URL)
*Restful API?
: REST원칙을 따르는 API, HTTP URI를 통해 자원을 명시하고, HTTP 메소드를 통해 해당 자원에 대한 CURD를 적용하는 API
*api게이트웨이?
: API 트래픽 및 요청을 관리. 중요한 데이터를 보호하기 위해 API 호출에 대한 정책, 인증 및 일반 액세스 제어를 적용
4. API가 필요한 이유
: 각 회사의 플랫폼과 애플리케이션이 서로 수월하게 통신할 수 있다. 생산성을 높이고 성능을 증진시킨다.
5. API의 예
-범용 로그인, 써드파티 결제 처리, 여행 예약비교, 구글
*써드파티 결제처리?
: 클라이언트도 서버도 아닌 제 3자가 결제를 처리하는 것
6. API 프로토콜의 유형
- SOAP(Simple Object Access Protocol) : XML로 구현된 API 프로토콜, 사용자가 SMTP 및 HTTP를 통해 데이터를 보내고 받을 수 있다. 서로 다른 환경에서 실행 중이거나, 서로 다른 언어로 개발된 애플리케이션 간 공유가 수월
- XML-RPC(프로시저 호출)
- JSON-RPC(프로시저 호출)
- REST( Representational State Transfer, 자원의 표현으로 구분하여 자원의 상태를 교환) : REST는 프로토콜이나 표준이 아닌 아키텍처 원칙 세트이다. RESTfulAPI가 되려면 아키텍처와 관련된 특정 제약 조건을 준수해야 한다.
7.SOA(Service-Oriented,서비스 지향 아키텍처)와 MSA(마이크로서비스 아키텍처)
- SOA는 소프트웨어 설계 스타일. 기능을 분할하여 하나의 네트웨크 내에서 개별 서비스처럼 제공
- MSA는 애플리케이션을 더 작은 독립적 컴포넌트로 나누는 아키텍처 스타일. 애플리케이션을 개별 서비스의 모음으로 적용하면 더 수월하게 테스트, 유지보수, 확장할 수 있다. -> 하나의 컴포넌트를 나머지 컴포넌트에 독립적으로 다룰 수 있음
'컴퓨터공학 지식' 카테고리의 다른 글
| 2장. vagrantfile을 통해 가상머신에 추가 패키지 설치하기(install_pkg.sh) (0) | 2025.06.02 |
|---|---|
| [컴퓨터 공학 지식] Flynn의 분류방법-컴퓨터 시스템 분류방법 (0) | 2023.06.19 |