@@ -36,21 +36,24 @@ HTTP 와 JSON 을 사용할 수 있는 모든 플랫폼에 사용이 가능하
36
36
REST 는 상태를 유지하지 않는 것이 특징이다.
37
37
상태가 있다 없다의 의미는 사용자나 클라이언트의 컨택스트를 서버 쪽에 유지하지 않는다는 의미로,
38
38
쉽게 표현하면 HTTP Session 과 같은 컨택스트 저장소에 상태 정보를 저장하지 않는 형태를 의미한다.
39
- 상태 정보를 저장하지 않으면 각 API 서버는 들어오는 메시지로 들어오는 요청만 처리하게 되며, 세션과 같은 컨택스트 정보를 신경쓸 필요가 없기 때문에 구현이 단순해진다.
39
+ 상태 정보를 저장하지 않으면 각 API 서버는 들어오는 메시지로 들어오는 요청만 처리하게 되며,
40
+ 세션과 같은 컨택스트 정보를 신경쓸 필요가 없기 때문에 구현이 단순해진다.
40
41
````
41
42
42
43
- 클라이언트 서버 구조
43
44
````
44
- REST 서버는 API 를 제공하고, 제공된 API 를 이용해서 비즈니스 로직 처리 및 저장을 책임진다. 클라이언트의 경우 사용자 인증이나 컨택스트 등을 직접 관리하고
45
- 책임지는 구조로 역할이 나뉘어 지고 있다. 이렇게 역할이 확실하게 구분되면서 개발관점에서 클라이언트와 서버에서 개발해야 할 내용들이 명확하게 되고 서로의 개발에 있어서
46
- 의존성이 줄어들게 된다.
45
+ REST 서버는 API 를 제공하고, 제공된 API 를 이용해서 비즈니스 로직 처리 및 저장을 책임진다.
46
+ 클라이언트의 경우 사용자 인증이나 컨택스트 등을 직접 관리하고 책임지는 구조로 역할이 나뉘어 지고 있다.
47
+ 이렇게 역할이 확실하게 구분되면서 개발관점에서 클라이언트와 서버에서 개발해야 할 내용들이 명확하게 되고
48
+ 서로의 개발에 있어서 의존성이 줄어들게 된다.
47
49
````
48
50
- 캐싱 가능(Cacheable)
49
51
````
50
52
REST 의 큰 특징 중 하나는 HTTP 라는 기존의 웹 표준을 그대로 사용하기 때문에 웹에서 사용하는 기존의 인프라를 그대로 활용 가능하다.
51
- HTTP 프로토콜 기반의 로드 밸런서나 SSL 은 물론이고, HTTP 가 가진 가장 강력한 특징 중의 하나인 캐싱 기능을 적용할 수 있다. 일반적인 서비스 시스템에서 60%
52
- 많게는 80% 가량의 트랜잭션이 Select 와 같은 조회성 트랜잭션인 것을 HTTP 의 리소스들을 웹캐시 서버 들레 캐싱하는 것은 용량이나 성능 면에서
53
- 많은 장점을 가지고 올 수 있다. 구현은 HTTP 프로토콜 표준에서 사용하는 "Last-Modified" 태크나 E-Tag 를 이용하면 캐싱을 구현할 수 있다.
53
+ HTTP 프로토콜 기반의 로드 밸런서나 SSL 은 물론이고, HTTP 가 가진 가장 강력한 특징 중의 하나인 캐싱 기능을 적용할 수 있다.
54
+ 일반적인 서비스 시스템에서 60% 많게는 80% 가량의 트랜잭션이 Select 와 같은 조회성 트랜잭션인 것을
55
+ HTTP 의 리소스들을 웹캐시 서버 들레 캐싱하는 것은 용량이나 성능 면에서 많은 장점을 가지고 올 수 있다.
56
+ 구현은 HTTP 프로토콜 표준에서 사용하는 "Last-Modified" 태크나 E-Tag 를 이용하면 캐싱을 구현할 수 있다.
54
57
캐시를 사용하게 되면 네트워크 응답시간 뿐 아니라 REST 컴포넌트가 위치한 서버에 트랜잭션을 발생시키지 않기 때문에
55
58
전체 응답시간과 성능 그리고 서버의 자원 사용률을 굉장히 향상시킬 수 있다.
56
59
````
0 commit comments