API

Hyun·2024년 8월 12일

frontend 필요 지식

목록 보기
4/9

API (Application Prgramming Interface)

API란?
고유한 기능을 가진 소프트웨어가 서로 통신하는 방법
시스템 간의 '대화'

API문서 : 서로 통신하는 법과 두 시스템 간의 요청과 응답을 구성하는 방법을 개발자가 서술해놓은 문서

API는 공개되어 있지만 그중에서 개발자가 다른 시스템과 대화를 할 때, 자신이 소통이 되길 원하는 정보만 정할 수 있다. 이런 정보가 api문서에 작성되어 있다.

API 동작 방식

  1. SOAP
    • 단순 객체 접근 프로토콜
    • XML을 사용해 메시지를 교환
    • 유연성이 떨어짐.
  1. RPC

    • 원격 프로시저 호출
    • 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송
  2. WebSocket

    • JSON 객체를 사용하여 데이터를 전달하는 최신 웹 API개발
    • 서버와 클라이언트 양방향 통신
    • 서버가 연결된 클라이언트에 콜백 메시지를 전송
  3. REST

    • 가장 많이 사용되는 형식, 유연함
    • 클라이언트가 서버로 요청하고 서버는 입력에 대해 내부함수를 실행 하고 출력 데이터를 클라이언트로 보냄
  4. GraphQl

    • API를 위한 쿼리 언어이며 타입 시스템을 사용해 쿼리를 실행하는 서버사이드 런타임
    • 데이터베이스 쿼리문과 같은 형식으로 원하는 데이터만 응답으로 요청하기 좋음.
      GraphQl

많이 사용되는 SOAP, REST

REST API (Representational State Transfer)

  • 클라이언트가 서버 데이터에 액세스하는데 사용할 수 있는 GET,PUT,DELETE 등의 함수 집합을 정의하고 클라이언트와 서버는 HTTP를 사용해 데이터를 교환
  • 웹 서비스와 모바일 애플리케이션 경량화의 필요에 맞춘 아키텍처 원칙 세트, 가이드라인이기 때문에 권장사항 구현은 개발자에게 달려 있다.
  • 데이터 요청은 HTTPS을 통해 이루어지고, 요청을 수신하면 REST용으로 설계된 HTML, XML, 일반 텍스트, JSON과 같은 다양한 형식으로 메시지를 반환 가능
  • 서버가 요청간에 클라이언트 데이터를 저장하지 않는 무상태 특징을 가짐.

SOAP API

  • World Wide Web Consortium(W3C)에서 유지 관리하는 공식 프로토콜
  • 다른 언어로 다른 플랫폼에서 빌드된 애플리케이션이 통신할 수 있도록 설계된 최초의 표준 프로토콜이다.
  • HTTP, SMTP, TCP 등의 다양한 애플리케이션 레이어 프로토콜로 처리가 가능하다.


참고자료: https://aws.amazon.com/ko/compare/the-difference-between-soap-rest/

참고자료: https://www.redhat.com/ko/topics/integration/whats-the-difference-between-soap-rest

0개의 댓글