-
REST란 RESTful란기타 2024. 3. 25. 21:20
REST란
- 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미
- URI를 통해 자원을 명시하고, HTTP Method(GET, POST, PUT, DELETE)를 통해 해당 자원에 대한 행위를 나타낸다.
REST 구성 요소
1. 자원 : URI
- 클라이언트는 URI를 이용해서 자원을 지정하고 해당 자원의 상태(정보)에 대한 조작을 Server에 요청한다.
2. 행위 : HTTP Method
- HTTP Method를 사용하여 자원에 대한 행위를 표현한다.
- POST, GET, PUT, DELETE
REST API란?
- REST 아키텍쳐 스타일에 부합하는 API
- 6가지 중 Uniform Interface에 초점을 두어 작성
1. 자원의 식별
=> 자원은 객체 / URI를 통해 자원을 식별 ex) /user/1
2. 표현을 통한 자원의 조작
=> 표현 : 특정한 상태의 자원에 대한 표현 / content-type: text/plain, json
3. 서술적인 메시지
=> 메시지는 스스로에 대해 설명해야 한다.
4. HATEOAS
RESTful이란?
- RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어
=> REST API를 제공하는 웹 서비스를 RESTful 하다고 할 수 있다.
- RESTful은 REST를 REST 답게 쓰기 위한 방법으로, 누군가 공식적으로 발표한 것이 아니다.
=> 즉, REST 원리를 따르는 시스템은 RESTful이란 용어로 지칭된다.
RESTful의 목적
- 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것
- RESTful한 API를 구한하는 근본적인 목적이 성능 향상에 있는 것이 아니라 일관적인 컨벤션을 통한 API의 이해도 및 호환성을 높이는 것이 주 동기이며 성능이 중요한 상황에서는 굳이 RESTful한 API를 구현할 필요는 없다.
RESTful 하지 못한 경우
ex) CRUD 기능을 모두 POST로만 처리하는 API
ex) route에 resource, id 외의 정보가 들어가는 경우(/students/updateName)
참고 사이트
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
그런 REST API로 괜찮은가
'기타' 카테고리의 다른 글
Session이란 무엇인가 (0) 2024.04.02 HTTPS란? (0) 2024.04.02 HTTP란 무엇인가? (0) 2024.04.02 [mac] SQL Developer 실행안됨 (0) 2021.04.13 Lombok 이란 (1) 2019.12.26