티스토리 뷰

개념들

Endpoint ? (feat. API)

김관장 2022. 7. 14. 08:45

오늘 일을 하는데, 백엔드 개발자 두 분이 Endpoint와 관련해서 토론하는 대화를 들었습니다.

  • A 개발자 : Endpoint는 URL 전체이다.
  • B 개발자 : Endpoint는 URL 전체가 아닌 특정 resource path까지이다. URL 전체이면 URL과 차이점이 무엇이냐.

 

대화를 듣다보니..

 

  1. 제가 대강 알고 있던 Endpoint는 URL의 resource path 까지였던 것 같은데 이것이 올바른 것인지 헷갈리기 시작했고,
  2. 프론트 엔드는 백엔드 API에서 가져온 데이터를 비즈니스 로직을 통해 사용자 인터페이스에 대한 작업을 하는 직무이기 때문에 평소 백엔드 구조나 개념을 찾아보기 때문에

Endpoint에 대해 공부하고 글을 작성하고자 합니다.

 

 

✅ 들어가기 전 포스팅했던 아래 글을 한번 읽어보시는 것을 추천드립니다.

 

RESTful API ?

✅ 들어가기 전 REST에 대한 개념을 이해하기 위해서는 아래 HTTP 프로토콜에 대한 사전 지식이 있으면 좋을 것 같아 먼저 읽어보시는 것을 추천드립니다 😀 HTTP 프로토콜과 상태코드 1. HTTP 프로

ji-musclecode.tistory.com


1. Endpoint 란 ?

  • Endpoint는 API가 RESTful API를 인터페이스를 통해 서버의 리소스에 액세스 할 수 있도록 해주는 URL입니다.
  • 서비스를 사용 가능하도록 하는 서비스에서 제공하는 커뮤니케이션 채널의 한쪽 끝

이를 보다 정확하게 이해하기 위해서는 RESTful API, URL에 대해서 공부할 필요가 있습니다.

 

   * RESTful API 란?

  • API란 서비스 또는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체라고 할 수 있습니다. 서버와 DB 간 출입구의 역할을 하며 , 모든 접속을 표준화(기계/운영체제에 상관없이 누구나 동일한 액세스를 얻을 수 있음) 합니다.
  • Restful API란 REST 원리는 따르는 API 즉, HTTP URI을 통해 자원을 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 API입니다.

 

   * URL 이란?

  • URL(형태)과 URN(형태)은 URI(규약)의 부분집합입니다.
  • URI(Uniform Resource Identifier)는 통합 자원 식별자입니다. 인터넷의 우편물 주소 같은 것으로, 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있습니다.

    • URL(Uniform Resource Locator)은 통합 자원 지시자입니다. 가장 흔한 URI의 형태로, 특정 서버의 한 리소스에 대한 구체적 위치를 서술하며, 정확히 어디에 어떻게 접근할 것인지 명시합니다.
    • URN(Uniform Resource Name)은 통합 자원 이름입니다. 콘텐츠를 이루는 한 리소스에 대해, 그 리소스의 위치에 영향을 받지 않습니다.

 


파란색 배경의 부분들을 통해 위 Endpoint의 정의를

 

✅ Endpoint는

 

  1. 인터페이스(사용자 조작 화면 즉 Web, Mobile .. )에서
  2. DB의 어떠한 자원에 대해 CRUD 동작을 하려고 할 때
  3. 구체적으로 요구하는 URL의 정보

라고 나름대로 해석해봤습니다.

 

  • 예를 들어 특정 유저의 정보를 조회하고자 할 때 api_site.com/{apikey} 형식의 API가 있고, 여기에 파라미터를 포함해서 요청을 보낸 api_site.com/{apikey}/users/{userId}/infos 라는 URL이 Endpoint인 것입니다.

 

🚨 Endpoint 재해석에 관련된 글은 제 생각으로 주관적으로 작성하였기 때문에 잘못된 정보를 포함하고 있을 수 있습니다. 혹시 잘못된 내용이나 다른 해석이 있다면 공유해주시면 감사하겠습니다!


 

🤔  정리 !

  • Endpoint는 인터페이스(사용자 조작 화면)에서 DB의 어떠한 자원에 CRDU동작을 하려고 할 때 필요한 구체적인 URL ! 

 

 

🔗 참고한 

 

The Difference Between a URL, URI, and a URN

A URI is an Identifier—like a specific document, book, or website—and a URL is an identifier that also tells you how to access it, such as…

danielmiessler.com

 

API 와 Endpoint ? (둘 다 정확히 알고 있다면 안봐도 되는 글)

API 와 Endpoint의 차이점? 둘 다 정확히 알고 있다면 안봐도 되는 글. API 와 Endpoint의 차이 한...

blog.naver.com

'개념들' 카테고리의 다른 글

비동기 HTTP 통신 종류 (ajax, fetch, axios)  (4) 2022.07.31
RESTful API ?  (2) 2022.07.11
HTTP 프로토콜과 상태코드  (0) 2022.06.30
댓글