Method | 의미 | Idempotent |
---|---|---|
POST | Create | No |
GET | Select | Yes |
PUT | Update | Yes |
DELETE | Delete | Yes |
Idempotent: 한번 수행한것과 여러번 수행한 것의 결과가 같은지
요청 헤더는 클라이언트와 서버 간에 교환되는 메타데이터이다.
메세지 포맷이 존재한다
Uniform Interface
URI로 지정한(표준 형식) 리소스에 대한 조작을 통일하고 한정적인 인터페이스로 수행하는 아키텍쳐 스타일이다.
Stateless
작업을 위한 상태정보를 따로 저장하고 관리하지 않는다. API서버는 들어오는 요청만을 단순히 처리하면 된다 서비스의 자유도가 높아지고 구현이 단순해진다.
Cacheable
HTTP 웹표준을 사용하기 때문에 웹에서 사용하는 기존 인프라를 그대로 활용이 가능하다 HTTP가 가진 캐싱 기능이 적용 가능하다.
Self-descriptiveness
REST API메세지만 보고도 이를 쉽게 이해 할 수 있는 자체 표현 구조로 되어있다.
Client-Server
REST서버는 API제공, 클라이언트는 사용자 인증이나 컨텍스트(세션, 로그인정보)등을 직접 관리하는 구조로 각각의 역할이 확실히 구분되기 때문에 클라이언트와 서버에서 개발해야 할 내용이 명확해지고 서로간 의존성이 줄어들게 된다.
Layer System
다중 계층으로 구성 될 수 있고 보안, 로드 밸런싱, 암호화 계층을 추가해 구조상의 유연성을 둘 수 있고 PROXY, 게이트웨이 같은
RESTful API의 기본 기능은 인터넷 브라우징과 동일하다. 클라이언트는 리소스가 필요할 때 API를 사용하여 서버에 접속한다. API개발자는 서버 어플리케이션 API문서에서 클라이언트가 REST API를 어떻게 사용해야 하는지 설명한다.
1. 클라이언트가 서버에 요청을 전송한다. 클라이언트가 API문서에 따라 서버가 이해하는 방식으로 요청 형식을 지정한다.
2. 서버가 클라이언트를 인증하고 해당 요청을 수행할 수 있는 권한이 클라이언트에 있는지 확인한다.
3. 서버가 요청을 수신하고 내부적으로 처리한다.
4. 서버가 클라이언트에 응답을 반환한다. 응답에는 요청성공여부와 요청한 정보가 들어있다.
프로필 사진이 구려요 바꿔주세요