RESTful API란 ?
REST를 기반으로 만들어진 API를 의미
REST(Representational State Transfer) 는 자원의 표현을 이용하여 상태를 주고받는 것을 의미. 여기서 자원이란 소프트웨어가 관리하는 모든 것을 의미하며 자원의 표현은 자원을 나타내기 위한 이름을 의미한다. 가령, 서버가 관리하는 주문 데이터는 order 라고 표현할 수 있다. 최근에는 일반적으로 자원의 상태를 나타내기 위해 JSON 포맷을 사용, REST는 네트워크 상에서 클라이언트와 서버의 통신 방식 중 하나이며, HTTP 프로토콜을 사용. 구체적으로는 HTTP URI를 활용하여 자원을 명시하고 HTTP METHOD를 통해 CRUD 연산을 적용하는 것을 의미.
API(Application Programming Interface) 란 컴퓨터 프로그램 간 정보를 주고받을 수 있도록 하는 일종의 출입구와 같은 역할을 수행. API가 REST 기반으로 구현되어 있다면, 이를 REST API라고 부른다.
그렇다면 RESTful API란?
RESTful이란
- RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어
- ‘REST API’를 제공하는 웹 서비스를 ‘RESTful’하다고 할 수 있다.
- RESTful은 REST를 REST답게 쓰기 위한 방법으로, 누군가가 공식적으로 발표한 것이 아니다.
- 즉, REST 원리를 따르는 시스템은 RESTful이란 용어로 지칭된다.
RESTful의 목적
- 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것
- RESTful한 API를 구현하는 근본적인 목적이 성능 향상에 있는 것이 아니라 일관적인 컨벤션을 통한 API의 이해도 및 호환성을 높이는 것이 주 동기이니, 성능이 중요한 상황에서는 굳이 RESTful한 API를 구현할 필요는 없다.
RESTful 하지 못한 경우
- Ex1) CRUD 기능을 모두 POST로만 처리하는 API
- Ex2) route에 resource, id 외의 정보가 들어가는 경우(/students/updateName)
출처 : 매일매일, https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
RESTful API: 개념부터 설계 원칙까지 알아보기
RESTful API: 개념부터 설계 원칙까지 알아보기
클라이언트-서버 구조: 클라이언트와 서버가 각각 독립적으로 동작하고, 서로 간의 의존성을 최소화합니다.무상태성(Statelessness): 서버는 클라이언트의 상태를 저장하지 않으며, 각 요청이 독립
velog.io
'Dev > Computer Science' 카테고리의 다른 글
| [CS] 트랜잭션 예외 처리 정리 | Checked Exception, Unchecked Exception (0) | 2025.09.11 |
|---|---|
| [CS] 낙관적 락, 비관적 락 - 동시성 제어 주요기법 (0) | 2025.08.20 |
| [CS] 회선(서킷) 교환 방식 VS 패킷 교환 방식 (0) | 2025.07.27 |
| [CS ] CSRF 공격 (2) | 2025.06.24 |
| [CS] Call By Value | Call By Reference (0) | 2025.06.02 |