RESTful API란 REST API를 제공하는 사이트들을 RESTful API라고 한다.
REST란
Representational State Transfer의 약자이며, 웹에 존재하는 모든 자원에 URI을 부여하여 활용하는 것으로, 자원에 대한 주소를 지정하는 방법이다.
REST의 구성요소
- 자원(Resource),URI : 모든 자원은 각각의 id가 따로 존재한다. 예를 들어 현재 내 사이트 https://bnh4924.tistory.com 를 누르면 사이트에 들어올 수 있듯이 여기에 다른 게시글을 클릭하면 해당되는 게시글에 들어가는 id가 따로 생기는 것이다.
- 행위(Verb), Method : URI를 이용해 자원들 지정, 조작하는 행동을 한다. 예를 들면 게시글을 올린다거나, 수정, 삭제 같은 기능을 할 때 사용된다.
- 표현(Representation) : 클라이언트가 서버에 요청을 보냈을 때 서버가 보내주는 자원의 상태를 말한다. 예를 들면 외부에서 내 블로그에 들어온다고 요청을 보내면 블로그 화면을 띄워준다고 생각하면 된다.
REST 특징
- Server-Client 구조 : Client가 자원을 요청하는 사람, Server는 자원을 제공하는 사람으로 구성되어있다. Server와 Client가 각각의 역할이 다르기 때문에 상호 의존성이 적다.
- 무상태(Stateless) : REST는 http 프로토콜를 따라가므로, http는 무상태이므로 REST 또한 무상태성을 가진다.
- 캐시 처리 가능(Cachealble) : http의 캐싱 기능을 사용할 수 있다.
- 계층화 : API 서버는 순수 비즈니스 로직을 수행하고, 그 앞에 다른 계층들을 추가하여 구조의 유연함을 가져갈 수 있다.
- 인터페이스 일관성 : http를 따르는 모든 플랫폼에서 사용할 수 있다.
REST API?
REST를 기반으로 API를 구현한 것이다.
끝
'백엔드' 카테고리의 다른 글
| Spring @RequestBody, @RequestHeader (0) | 2023.03.27 |
|---|---|
| JPA란? (0) | 2023.03.08 |
| Get, Post Put API (0) | 2023.02.22 |
| JSON(JavaScript Object Notation)이란? (1) | 2023.02.05 |