
REST
REpresentation State Tranfer
- 자원을 명시해 연산을 수행하고 주고 받는 것
REST 특징
- 서버-클라이언트 구조
- 무상태성
→ 서버는 클라이언트에 대한 정보를 저장하지 않는다.
- 캐싱
→ 클라이언트는 캐싱할 수 있다.
- 자체 표현 구조
→ 요청된 REST를 보고 무엇을 하고자 하는지
- 일관된 인터페이스
→ 동일 인터페이스에 동일한 연산이 수행해야한다.
REST API
REST 특징을 띄고 있는 API
- 자원: URI
- 행위: 메소드
- 표현: JSON
용어 정리
URI
- Uniform Resource Identifier
- 자원을 나타내는 주소
- 하위 개념으로 URL, URN 등이 있다.
ex) 이 위치를 어떻게 나타낼 것인가? → 도로명 주소 / 위경도 등으로 다양하게 나타낼 수 있듯이 URI는 위치 나타내는 것이고 URL, URN등은 위치를 표현하는 하위 개념이다.
멱등성
- 동일 수행해도 결과가 바뀌지 않는 것을 멱등성이라고 한다.
CRUD로 보는 REST
ㅤ | Method |
Create | POST |
Read | GET |
Update | PUT |
Delete | DELETE |
- PUT과 POST
- PUT과 POST는 멱등성에서 차이가 보인가. POST는 연산 횟수대로 값을 만들지만 PUT은 멱등성이 있기에 횟수와 상관없이 변화가 없다.
추가 메소드
- PATCH
- PUT과 같이 데이터 수정하지만 PUT은 전체를 업데이트 하지만, PATCH는 일부 수정한다.
- OPTION
- 사용가능한 메소드를 헤더에 포함시켜 return 한다.
- HEAD
- Get과 동일하지만, 데이터가 body가 아닌 header에 담긴다.
REST 장단점
장점
- 추가적인 설비 없이 도입이 가능하다.
- 범용적으로 기기를 가리지 않고 사용이 가능하다.
단점
- 가능한 연산이 한정적이라, 복잡한 연산은 지원하지 않는다.
Share article