[IT Term] RESTful API

1. 개념

RESTful API에서 나오는 REST의 개념은 Representational State Transfer라는 용어의 약자로서 로이 필딩의 박사학위 논문에서 최초로 공개된 개념입니다. HTTP의 장점을 최대한 활용하는 아키텍처죠. 


2. REST 구성

1. 자원(Resource) - URI 

2. 행위(Verb) - HTTP method 

3. 표현(Representation)


3. REST 특징

1. Uniform : URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행

2. Stateless : 작업을 위한 상태정보를 따로 저장하지 않음(Session, Cookie 정보를 별도로 관리하지 않음), API 서버는 들어오는 요청만 간단하게 처리하면 됨 => 서비스의 자유도가 향상되고 불필요한 정보 관리를 하지 않아 구현이 단순해짐

3. Cacheable : HTTP 웹표준을 그대로 사용하기 때문에, 기존 웹의 인프라를 그대로 사용가능. E-tag, Last-Modified를 이용하여 Caching 기능을 구현 가능

4. Self-descriptive : REST API 메세지로 쉽게 이를 이해할 수 있는 자체 표현 구조

5. Client-Server : REST API제공 클라이언트는 Context 등을 직접 관리해야하는 구조로 됨(여기서 Context는 Session, Cookie) => 서로 간의 개발 내용이 명확해지고 의존성이 줄어들음

6. Hierarchical type : 다중 계층 구성 가능. Load Balancing, Encrypt layer 추가해 구조상의 유연성을 확보 가능. Proxy, Gateway 같은 네트워크 기반의 중간매체 사용 가능


4. REST API 디자인 가이드

1. URI는 정보의 자원을 표현해야 한다. (명사형을 사용)

2. 자원에 대한 행위는 HTTP Method(Get, Post, Delete)로 표현 (자원에 대한 행위를 적절한 HTTP Method를 통해서 구현)


*URI로는 자원을 표현하는 데 집중하고 행위에 대한 정의는 HTTP Method를 통해 하는 것이 REST한 API를 설계하는 중심 규칙

'Computer Science > IT Term' 카테고리의 다른 글

[IT Term] 쿠키(Cookie), 세션(Session)  (0) 2017.11.26
[IT Term] Web Template(웹 템플릿)  (0) 2017.11.25
[IT Term] RESTful API  (0) 2017.11.18
[IT Term] 제네릭 프로그래밍  (0) 2017.09.30
[IT Term] CSV file  (0) 2017.09.17
[IT Term] 커넥션 풀(Connection Pool)  (0) 2017.08.11

이 글을 공유하기

댓글(0)

Designed by JB FACTORY