개요
웹 개발을 하다보면 자주 사용되는 용어인 API와 Endpoint가 있습니다. 이 둘은 많은 개발자들이 혼동하기 쉬운 개념인데, 저는 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는 그 인터페이스 내에서 실제로 기능을 수행하는 접점이라고 할 수 있습니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.02.12 - 리눅스 크론탭(Linux Crontab) (0) | 2025.02.12 |
---|---|
[TIL, 일일 회고] 2025.02.11 - ORDER BY의 숫자의 의미 (0) | 2025.02.11 |
[TIL, 일일 회고] 2025.02.09 - MySQL : CONCAT_WS로 문자열 손쉽게 결합하기 (0) | 2025.02.09 |
[TIL, 일일 회고] 2025.02.08 - Java 입력 처리: BufferedReader vs Scanner 실제 성능 비교해보기 (0) | 2025.02.08 |
[TIL, 일일 회고] 2025.02.07 - VO와 DTO는 같은 의미인가❓ (1) | 2025.02.07 |