REST (Representational State Transfer) 아키텍처의 제약조건을 준수하는 API
웹 장점을 최대한 활용할 수 있는 아키텍쳐로 REST를 발표했다.
구성
자원 (Resource) - URI
행위 (Verb) - HTTP Method
표현 (Representations)
특징
1) Uniform : URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍쳐 스타일
2) Stateless : 작업을 위한 상태 정보를 따로 저장하고 관리하지 않는다. 세션이나 쿠키를 별도로 저장하거나 관리하지 않음. API 서버는 단순히 요청만 처리한다.
3) Cacheable : HTTP 표준을 그대로 사용하기 때문에 웹에서 사용하는 기존 인프라를 그대로, 캐싱 기능을 사용할 수 있다.
4) Self-descriptiveness : 메시지만 보고도 이를 쉽게 이해할 수 있는 자체 표현 구조로 되어있다.
5) CS 구조 : 서버는 API를 제공, 클라이언트는 인증이나 컨텍스트 등을 직접 관리하는 구조로 역할이 확실하게 나눠져 있다. 서로에 대한 의존성이 낮다.
6) 계층형 구조 : 다중 계층으로 보안, 로드밸런싱, 암호화 계층 등 구조에 유연하다. PROXY나 게이트웨이 같은 네트워크 중간 매체도 사용할 수 있다.
어떻게 사용되는가?
1) URI는 정보의 자원을 표현한다. 명사 형태로 표현된다.
2) 자원에 대한 행위는 HTTP method로 표현한다. GET 조회, POST, 생성, PUT 수정, DELETE 삭제
3) '/' 구분자는 계층 관계를 나타낸다.
4) '-'은 URI의 가독성을 높이기 위해 사용한다.
5) '_'나 파일 확장자 명은 사용하지 않는다.
참조글
"REST API 제대로 알고 사용하기", 2021년 4월 10일, meetup.toast.com/posts/92.
'Anything' 카테고리의 다른 글
[Javascript] Ajax (0) | 2021.04.20 |
---|---|
[DB] 커넥션 풀 (Connection Pool) (0) | 2021.04.15 |
SQL 기초 (Oracle DB) (0) | 2021.03.29 |
MVC 패턴 (0) | 2021.03.26 |
Kafka 개념 정리 (0) | 2021.03.20 |