API(2)

송민지·2022년 5월 15일
0

웹개발 종합반을 들으면서 api, api 노래를 부르듯이 계속 들었었다. 하지만 제대로 찾아보지는 않았는데 오늘 기회가 되어서 정리해 본다.

API란

Application Programming Interface의 약자로 컴퓨터와 컴퓨터 프로그램사이의 연결이다. 일종의 소프트웨어 인터페이스다. 다른 종류의 소프트웨어에서 서비스를 제공하며 이러한 연결이나 인터페이스를 비드하거나 사용하는 방법을 기술하는 문서나 표준은 API 사양으로 부른다.

API는 각기 다른 부분으로 구성되기도 하며 프로그래머가 사용할 수 있는 도구나 서비스의 역할을 한다. 이러한 부분들 중 하나를 사용하는 프로그램이나 프로그래머는 API의 해당 부분을 호출(call)한다고 말한다. API를 구성하는 호출들은 서브루틴, 메소드(method), 요청, 통신 엔드포인트라고도 부른다. API 사양은 이 호출들을 정의하며, 다시 말해 이들을 어떻게 사용하거나 구현하는지를 설명한다는 것을 의미한다.

REST API

Representational State Transfer의 줄임말로 REST는한 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET, PUT, DELETE 등의 함수들의 집합이다.
클라이언트와 서버는 HTTP를 사용하여 데이터를 교환한다.

REST API의 주된 특징

무상태는 서버가 요청 간에 클라이언트 데이터를 저장하지 않음을 의미한다.
서버에 대한 클라이언트 요청은 웹 사이트를 방문하기 위해 브라우저에 입력하는 URL과 유사하며, 서버의 응답은 웹 페이지의 일반적인 그래픽 렌더링이 없는 일반 데이터다.

웹 API

웹 API 또는 웹 서비스 API는 웹 서버와 웹 브라우저 간의 애플리케이션 처리 인터페이스다. 모든 웹 서비스는 API이지만 모든 API가 웹 서비스는 아니다.
REST API는 위에서 설명한 표준 아키텍처 스타일을 사용하는 특수한 유형의 웹 API

REST API의 이점

  1. 통합
    API는 새로운 애플리케이션을 기존 소프트웨어 시스템과 통합하는 데 사용된다. API를 사용하여 기존 코드를 활용할 수 있어 개발 속도가 빨라집니다.

  2. 혁신
    새로운 앱의 등장으로 전체 산업이 바뀔 수 있다. 기업은 신속하게 대응하고 혁신적인 서비스를 신속하게 배포해야 한다. REST API를 사용하면 전체 코드를 다시 작성할 필요 없이 API 수준에서 변경하는여 이를 수행할 수 있다.

  3. 확장
    API는 기업이 다양한 플랫폼에서 고객의 요구한 사항을 충족할 수 있는 고유한 기회를 제공한다. 어느 기업이나 무료 또는 유료 API를 사용하여 내부 데이터베이스에 유사한 액세스 권한을 부여할 수 있다.

  4. 유지 관리의 용이성
    API는 두 시스템 간의 게이트웨이 역할을 한다. AP한I가 영향을 받지 않도록 각 시스템은 내부적으로 변경해야 한다. 이렇게 하면 한 시스템의 향후 코드 변경이 다른 시스템에 영향을 미치지 않는다.

API 엔드포인트는 무엇이며 왜 중요할까?

  • API 엔드포인트는 API 통신 시스템의 최종 접점.
    여기에는 서버 URL, 서비스 및 시스템 간에 정보가 송수신되는 기타 특정 디지털 위치가 포함된다.
    API 엔드포인트는 두 가지 주요 이유로 기업에 중요하다.
  1. 보안
    API 엔드포인트는 시스템을 공격에 취약하게 만든다. API 모니터링은 오용을 방지하는 데 중요하다.
  2. 성능
    API 엔드포인트, 특히 트래픽이 많은 엔드포인트는 병목 현상을 일으키고 시스템 성능에 영향을 줄 수 있다.

REST API를 보호방법

  • 모든 API는 적절한 인증 및 모니터링을 통해 보호되어야 한다. 다음은 REST API를 보호하는 두 가지 주요 방법이다.
  1. 인증 토큰
    인증 토큰은 사용자에게 API 호출을 수행할 수 있는 권한을 부여하는 데 사용된다. 인증 토큰은 사용자가 자신이 누구인지 확인하고 해당 특정 API 호출에 대한 액세스 권한이 있는지 확인한다.
  2. API 키
    API 키는 API를 호출하는 프로그램 또는 애플리케이션을 확인한다.
    즉, 애플리케이션을 식별하고 애플리케이션에 특정 API 호출을 수행하는 데 필요한 액세스 권한이 있는지를 확인한다.
    API 키는 토큰만큼 안전하지 않지만 사용량에 대한 데이터를 수집하기 위해 API 모니터링을 허용한다.
    (다른 웹 사이트를 방문할 때 브라우저 URL에서 긴 문자열과 숫자를 본 경험이 있을 것이다. 이 문자열이 웹 사이트가 내부 API 호출을 수행하는 데 사용하는 API)
profile
기록하는 일상

0개의 댓글