endpoint

남순식·2023년 3월 15일
1

EndPoint : 엔드포인트

웹에서 api로 통신할 때 endpoint라는 단어를 많이 들어봤다.
그때마다 대충 아는것처럼 넘어갔었는데 확실하게 개념을 잡아야할 것같아서 글을 남긴다.

endpoint를 검색해보면 api와 함께 설명하는 글이 많다.
이유를 알아보려고 한다

API (application programin interface)

api는 프로그램과 프로그램을 잇는 매개체이다.

예를 들어 클라이언트(유저)는 회원가입이나 로그인을 하기위해 정보를 입력하여 전송하고
서버는 데이터베이스에 저장하거나, 꺼내어 보여준다.

하지만 클라이언트가 데이터베이스와 직접 연결하지 않고 중간에 매개체를 이용하는데 그것이 api 이다.
클라이언트는 api를 이용해 요청하고 요청에 의해 데이터베이스에서 응답을 반환하게 한다.
따라서 클라이언트는 데이터베이스에 접근하는 방법을 몰라도 상관이 없다.

클라이언트는 로그인하기api를 이용하여 로그인하고
회원가입 api를 이용하여 회원가입 하는 것이다.

REST API
Representational State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처

REST 아키텍처 균일한 인터페이스 원칙

  • 서버에 있는 모든 resource(자원)는 각 resource(자원) 당 클라이언트가 바로 접근할 수 있는 고유 URL이 존재.

  • 모든 요청은 클라이언트가 요청할 때 마다 필요한 정보를 주기 때문에 서버에서는 세션 정보를 보관할 필요가 없다. 그렇기 때문에 서비스에 자유도가 높아지고 유연한 아키텍쳐 적응이 가능하다.

  • HTTP 메소드를 사용한다는 점. 모든 resource는 일반적으로 HTTP 인터페이스인 GET, POST, PUT, DELETE 4개의 메소드로 접근되어야 한다는 것이다.

  • 서비스 내에 하나의 resource가 주변에 연관된 리소스들과 연결되어 표현이 되어야 한다.

자원에게 접근할 때 url을 이용한다는 것을 알 수 있다.
url은 자원의 위치를 나타내는 일종의 식별자 이다.

url의 http메소드는 같은 url에 대해서도 다른 요청을 하게끔 구별해준다.

결국 Endpoint란 API가 서버에서 자원(resource)에 접근할 수 있도록 하는 URL 이다.

profile
java 주니어

0개의 댓글