티스토리 뷰
오늘 일을 하는데, 백엔드 개발자 두 분이 Endpoint와 관련해서 토론하는 대화를 들었습니다.
- A 개발자 : Endpoint는 URL 전체이다.
- B 개발자 : Endpoint는 URL 전체가 아닌 특정 resource path까지이다. URL 전체이면 URL과 차이점이 무엇이냐.
대화를 듣다보니..
- 제가 대강 알고 있던 Endpoint는 URL의 resource path 까지였던 것 같은데 이것이 올바른 것인지 헷갈리기 시작했고,
- 프론트 엔드는 백엔드 API에서 가져온 데이터를 비즈니스 로직을 통해 사용자 인터페이스에 대한 작업을 하는 직무이기 때문에 평소 백엔드 구조나 개념을 찾아보기 때문에
Endpoint에 대해 공부하고 글을 작성하고자 합니다.
✅ 들어가기 전 포스팅했던 아래 글을 한번 읽어보시는 것을 추천드립니다.
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는
- 인터페이스(사용자 조작 화면 즉 Web, Mobile .. )에서
- DB의 어떠한 자원에 대해 CRUD 동작을 하려고 할 때
- 구체적으로 요구하는 URL의 정보
라고 나름대로 해석해봤습니다.
- 예를 들어 특정 유저의 정보를 조회하고자 할 때 api_site.com/{apikey} 형식의 API가 있고, 여기에 파라미터를 포함해서 요청을 보낸 api_site.com/{apikey}/users/{userId}/infos 라는 URL이 Endpoint인 것입니다.
🚨 Endpoint 재해석에 관련된 글은 제 생각으로 주관적으로 작성하였기 때문에 잘못된 정보를 포함하고 있을 수 있습니다. 혹시 잘못된 내용이나 다른 해석이 있다면 공유해주시면 감사하겠습니다!
🤔 정리 !
- Endpoint는 인터페이스(사용자 조작 화면)에서 DB의 어떠한 자원에 CRDU동작을 하려고 할 때 필요한 구체적인 URL !
🔗 참고한 글
'개념들' 카테고리의 다른 글
비동기 HTTP 통신 종류 (ajax, fetch, axios) (4) | 2022.07.31 |
---|---|
RESTful API ? (2) | 2022.07.11 |
HTTP 프로토콜과 상태코드 (0) | 2022.06.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- React로 쓰로틀링 디바운싱 구현
- 1급 시민
- 1급 객체
- 1급 함수
- 자바스크립트 동작원리
- 목표 일기
- programmers
- redirects
- 타입스크립트
- 자바스크립트 비동기 동작원리
- 호이스팅
- next.js 환경변수
- 시맨틱 웹
- 가상스크롤
- 매겨변수와 인자
- rewrites
- array
- typescript
- vue
- javascript
- redux
- zustand
- Virtual Scroll
- 함수형 컴포넌트
- Next.js
- useRef
- debouncing
- next.js에 .gitignore가 적용되지 않을 때
- react
- 렌더링 속도 개선
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함