Anything

[Basic] RESTful API

씬프 2021. 4. 12. 14:14
반응형

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