본문 바로가기
프로그래밍/웹, 네트워크

Restful에 대한 이해하기(Restful과 SOAP차이) - 3

by Hwan2 2020. 1. 13.
반응형

이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다.

조사 기간은 7일걸렸습니다.

 

 

목차는 다음과 같이 진행됩니다.

 

1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.)

보러가기 : https://hwan-shell.tistory.com/139

2. xml과 json, soap의 통신 방식과 단점.

보러가기 : https://hwan-shell.tistory.com/140

3. Restful 과 soap의 차이점.

4. Restful의 특징

보러가기 : hwan-shell.tistory.com/142

 

저희는 앞서 SOAP에 대해 알아보았습니다.

 

이해를 돕기위해 SOAP의 특징을 설명해보겠습니다.

 

 

장점

1. 프록시와 방화벽에 제약이 없다. (기존 HTTP방식을 사용함으로)

2. 플랫폼과 프로그래밍에 독립적이다. (WSDL이라는 양식을 토대로 작성해서 보내줌으로)

3. WSDL, UDDI 등 표준 통신규약이 있다.

4. 분산 환경에 적합하다.

5. 기존의 컴포넌트보다 이기종간 상호운용성이 높음

6. stateful방식이다.(서버는 세션을 저장하여 클라이언트와 통신하게 됩니다.)

 

 

단점

1. 너무 복잡하다.

2. 해당 문법을 작성하기 위해선 Tool이 필요하다.

3. 무겁고 느리다.

4. 작성하는것 또한 어렵다.

 

 

 

 

SOAP의 단점을 보자면 다음과 같은 생각을 할 수 있습니다.

 

" SOAP를 작성하기엔 너무 구조가 복잡하고 넣어야 할것도 많고... 작성하려면 Tool이 있어야하고....

 옆동네에선 XML 대체로 JSON이 나왔는데 SOAP는 XML만 지원하고.... 좀 더 쉽고 간편한 방법이 없을까???"

 

2000년 로이 필딩이 박사 학위 논문에서 REST라는 개념을 처음 정의했습니다.

 

그 후 2000년대 후반 Open API의 대명사로 REST가 떠오르게 됩니다.

 

 

 

REST의 특징은 다음과 같습니다.

 

1. XML, JSON, RSS 모두 지원한다.

2. HTML의 from method인 GET, POST를 인용한다.

3. 굉장히 직관적이며 GET, POST, PUT, DELETE 4가지를 이용해 모든 처리를 완벽하게 할 수 있다.

4. DB를 사용할 때도 REST의 키워드는 매칭이 잘 된다.

5. stateless방식을 사용하며 단순하고 속도가 빠르다.

 

 

더 있지만 이것만 알아도 충분하다고 생각합니다.

 

 

즉, REST는 기본적인 웹통신을 하고 있는 뜻이 됩니다.

 

이렇게 말이죠.

 

SOAP와 비교해보면 정말 간단해졌습니다.

 

서버는 클라이언트의 요청에 대비해 API를 작성하게 됩니다.

 

그 후 클라이언트의 요청이 있을 때 마다 해당 API에 대한 데이터를 보내주게 되죠.

 

 

 

이렇게 간편한 접근과 손쉬운 사용, 범용성 등의 이점 때문에 많은 웹서버는 RESTful 방식을 사용하고 있습니다.

 

 

 

글이 굉장히 짦게 끝났는데..... 다음장은 RESTful의 특징을 좀 더 자세히 알아보도고 하겠습니다.

 

 

 

4편 보러가기(클릭)

 

 

 

※잘못된 정보가 있거나 보충이 필요한 부분이 있다면 피드백을 주시면 감사하겠습니다.

반응형

댓글


스킨편집 -> html 편집에서