베하! 안녕하세요~!
BTC_수신자표시제한 입니다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/001.gif)
오늘은 REST API에 대해 알아보겠습니다.
REST API란 HTTP/HTTPS를 통해 프론트엔드(클라이언트)와 백엔드(서버) 간의 통신을 수행하는 방식입니다.
REST API는 클라이언트가 URI를 통해 리소스에 접근하고, HTTP 메서드(GET, POST, PUT, DELETE 등)를 통해 리소스를 조작합니다.
아래에서 더 자세하게 설명 드리겠습니다 :)
1. API 란?
Application Programming Interface의 줄임말로, 두 소프트웨어가 서로 통신할 수 있도록 하는 인터페이스를 의미합니다.
API를 통해 다른 개발자나 외부 시스템에서도 해당 프로그램의 기능을 호출하고, 데이터를 전달하고, 결과를 받을 수 있습니다.
API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명됩니다. 요청을 보내는 애플리케이션을 클라이언트라고 하고 응답을 보내는 애플리케이션을 서버라고 합니다. 클라이언트는 웹에서 정보에 액세스하려는 사용자입니다. 클라이언트는 API를 사용하는 사람이거나 소프트웨어 시스템일 수 있습니다.
예를 들어, 로그인 기능을 구현한다고 가정해보겠습니다.
클라이언트는 로그인을 요청하고, 이를 처리할 서버는 API를 통해 클라이언트에게 로그인에 필요한 정보를 제공합니다. 클라이언트는 이 정보를 사용하여 로그인을 수행하고, 결과를 서버에 다시 전달합니다. API는 이러한 상호작용을 원활하게 도와주는 역할을 합니다.
2. REST 란?
Representational State Transfer의 줄임말로, API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다.
REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌습니다. REST 기반 아키텍처를 사용하여 대규모의 고성능 통신을 안정적으로 지원할 수 있습니다. 쉽게 구현하고 수정할 수 있어 모든 API 시스템을 파악하고 여러 플랫폼에서 사용할 수 있습니다.
API 개발자는 여러 아키텍처를 사용하여 API를 설계할 수 있습니다. REST 아키텍처 스타일을 따르는 API를 REST API라고 합니다. REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라고 합니다. RESTful API라는 용어는 일반적으로 RESTful 웹 API를 나타냅니다. 하지만 REST API와 RESTful API라는 용어는 같은 의미로 사용할 수 있습니다.
REST는 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET, POST, PUT, DELETE 등의 함수 집합을 정의합니다. 클라이언트와 서버는 HTTP를 사용하여 데이터를 교환합니다.
REST API는 리소스를 중심으로 디자인되며, 클라이언트에서 액세스할 수 있는 모든 종류의 개체, 데이터 또는 서비스가 리소스에 포함됩니다.
3. RESTful API
RESTful API에 대해 추가적으로 설명드리겠습니다.
RESTful API는 HTTP 메소드를 활용해서 CRUD 기능을 수행하도록 도와주는 웹 서비스 디자인 패턴입니다.
웹 상의 자원을 이름(URI)과 HTTP 메소드(GET, POST, PUT, DELETE 등)를 이용하여 표현하고, 이를 통해 자원을 조작하는 아키텍처 스타일입니다.
즉, URI를 통해 자원을 식별하고, HTTP 메소드를 이용하여 자원에 대한 행위를 정의합니다.
RESTful API는 표준화되어 있어서 다양한 클라이언트(웹 브라우저, 모바일 앱 등)와 서버 간의 통신을 가능하게 하며, 확장성과 유지보수성이 높은 웹 어플리케이션을 구현할 수 있습니다.
4. HTTP 메소드
HTTP 프로토콜은 요청에 의미 체계의미를 할당하는 다양한 메서드를 정의합니다. 대부분의 RESTful 웹 API에서 사용하는 일반적인 HTTP 메서드는 다음과 같습니다.
- GET : 클라이언트는 GET을 사용하여 서버의 지정된 URL에 있는 리소스에 액세스합니다. GET 요청을 캐싱하고 RESTful API 요청에 파라미터를 넣어 전송하여 전송 전에 데이터를 필터링하도록 서버에 지시할 수 있습니다.
- POST : 클라이언트는 POST를 사용하여 서버에 데이터를 전송합니다. 여기에는 요청과 함께 데이터 표현이 포함됩니다. 동일한 POST 요청을 여러 번 전송하면 동일한 리소스를 여러 번 생성하는 부작용이 있습니다.
- PUT : 클라이언트는 PUT을 사용하여 서버의 기존 리소스를 업데이트합니다. 서버의 데이터를 전체적으로 업데이트할 때 사용되며, POST와 달리 RESTful 웹 서비스에서 동일한 PUT 요청을 여러 번 전송해도 결과는 동일합니다.
- PATCH : 리소스의 부분 업데이트를 수행합니다. 요청 본문은 리소스에 적용할 변경 내용을 지정합니다.
- DELETE : 클라이언트는 DELETE 요청을 사용하여 리소스를 제거합니다. DELETE 요청은 서버 상태를 변경할 수 있습니다. 하지만 사용자에게 적절한 인증이 없으면 요청은 실패합니다.
즉, 쉽게말해
- GET : 검색
- POST : 새 리소스 생성
- PUT : 리소스 생성 또는 기존 리소스 업데이트
- PATCH : 기존 리소스 부분 업데이트
- DELETE : 리소스 삭제
로 정리될 수 있습니다 :)
예를 들어, 로그인 및 회원가입 등과 같은 기능을 구현한다고 가정해보겠습니다.
POST 메소드는 새로운 리소스를 생성하는 용도이기 때문에 이미 존재하는 'a' 고객의 경우에는 POST가 동작하지 않습니다. PUT 메소드는 모든 사용자 정보를 업데이트하고 PATCH 메소드는 일부 정보를 변경하는 용도로 사용됩니다. GET 메소드는 정보를 조회하고 DELETE 메소드는 정보를 삭제하는 용도로 사용됩니다.
여기까지 REST API에 대해 알아보았습니다!
도움이 되셨으면 좋겠습니다😊
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/006.gif)
다음에 만나요 👋👋
댓글