api란 무엇인가?

홍준섭·2022년 9월 4일

개발 공부

목록 보기
3/20

api란 무엇인가?

application programming interface의 줄임말으로 컴퓨터나 컴퓨터 프로그램 사이의 연결을 해주는 것이다.

사용하는 경우

  1. 접근할 프로그램의 규칙이 잘 짜이지 않고 복잡한 경우
  2. 프로그램 보안 상 외부에서 누구나 사용할 수 없고 제한된 기능들을 간접적으로 제공하고 싶을때.

api 방식

  1. soap api
    • 과거에 많이 사용하였고 유연성이 떨어진다.
  2. rpc api
    • 원격 프로시저 호출
  3. websocket api
    • JSON 객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 api. 클라이언트 앱과 서버 간의 양방향 통신을 지원한다. 서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적이다.
  4. rest api
    • 가장 많이 사용되고 유연한 api. 클라이언트가 서버에 요청을 데이터로 전송. 서버가 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환. representational state transfer의 줄임말으로 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET,PUT,DELETE등의 함수 집합을 정의. 클라이언트와 서버는 HTTP를 사용하여 데이터를 교환한다.

api 엔드포인트의 중요성

  1. 보안
    api 엔드 포인트는 시스템을 공격에 취약하게 만든다.
  2. 성능
    api 엔드 포인트는 트래픽이 많은 경우 병목 현상을 일으키고 시스템 성능에 영향을 줄 수 있다.

api를 보호하는 방법

  1. 인증토큰
    인증 토큰은 사용자에게 api 호출을 수행할 수 있는 권한을 부여하는 데 사용된다. 인증 토큰은 사용자가 자신이 누구인지 확인하고 해당 특정 api 호출에 대한 액세스 권한이 있는지 확인합니다.
  2. api 키
    api 키는 api를 호출하는 프로그램 또는 애플리케이션을 확인. 즉 애플리케이션을 식별하고 애플리케이션에 특정 api 호출을 수행하는 데 필요한 액세스 권한이 있는지 확인한다.
profile
개발 공부중입니다

0개의 댓글