728x90

개요

웹 개발을 하다보면 자주 사용되는 용어인 APIEndpoint가 있습니다. 이 둘은 많은 개발자들이 혼동하기 쉬운 개념인데, 저는 Endpoint를 URL의 특정 resource path로 알고있었습니다.

 

본 글에서는 API와 Endpoint의 정확한 의미와 차이점에 대해 정리하고자 합니다.

 

API란❓

API(Application Programming Interface)는 서로 다른 소프트웨어 시스템들이 통신할 수 있게 해주는 인터페이스입니다.

즉, 어플리케이션 간의 통신을 할수 있게 해주는 접점

 

예를 들어, 카카오 API는 지도, 결제, 로그인 등 다양한 서비스를 제공하며, 각 서비스에 접근하기 위한 규칙과 방법을 정의합니다.

 

Endpoint란❓

Endpoint는 API의 한 구성 요소로, 특정 기능이나 리소스에 접근할 수 있는 구체적인 URL이나 URI를 의미합니다. API에 액세스하거나 API와 상호 작용하기 위한 진입점 역할을 합니다.

 

Endpoint는 다음과 같은 특징을 가집니다.

Endpoint의 특징

  • 구체적인 기능 제공
  • 명확한 URL 구조
  • 특정 HTTP 메소드(GET, POST, PUT, DELETE 등) 사용
  • 단일 리소스나 기능에 대한 접근점

 

Endpoint의 예시

  • GET /books : 모든 책 목록을 검색합니다.
  • GET /books/{id} : ID로 특정 책을 검색합니다.
  • POST /books : 새로운 책을 만듭니다.
  • PUT /books/{id} : 기존 책을 ID로 업데이트합니다.
  • DELETE /books/{id} : ID로 책을 삭제합니다.

 

API와 Endpoint의 차이점


Endpoint
API의 구성 요소인 반면 API는 두 애플리케이션이 리소스를 공유할 수 있도록 하는 규칙 집합입니다.

 

Endpoint리소스의 위치이고 API엔드포인트 URL을 사용하여 요청된 리소스를 검색합니다.


1. 범위의 차이

 

  • API: 전체 서비스의 인터페이스를 포괄하는 상위 개념
  • Endpoint: API 내의 특정 기능이나 리소스에 접근하는 단일 접점

 

2. 기능적 차이

 

  • API
    • 전체 시스템의 통신 규약 정의
    • 보안과 인증 메커니즘 제공
    • 데이터 교환 방식 설정
    • 전반적인 서비스 구조 설계
  • Endpoint
    • 특정 리소스에 대한 CRUD 작업 수행
    • 단일 기능이나 서비스 제공
    • 구체적인 데이터 처리
    • 특정 HTTP 메소드로 작업 수행

 

3. 구조적 차이

 

  • API여러 Endpoint들의 집합체
  • 하나의 API다수의 Endpoint를 포함
  • Endpoint는 API의 실제 구현체
  • API는 Endpoint들을 조직화하고 관리

 

4. 실제 사용 예시

  • API: https://api.example.com/
  • Endpoints:
    • /users: 사용자 프로필 관리
    • /messages: 다이렉트 메시지 기능
    • /media: 미디어 파일 업로드/다운로드

5. 관계성

 

  • API는 도서관 전체 시스템
  • Endpoint는 도서관 내의 특정 서비스 창구나 책장
    • 대출 창구 (/borrow)
    • 반납 창구 (/return)
    • 회원가입 창구 (/register)

결론

API와 Endpoint는 밀접한 관계를 가지고 있지만, 그 범위와 역할에서 명확한 차이를 보입니다.

 

API전체 서비스의 인터페이스를 정의한다면, Endpoint는 그 인터페이스 내에서 실제로 기능을 수행하는 접점이라고 할 수 있습니다.