본문 바로가기

FrontEnd

[FrontEnd] SOAP, REST, RESTful까지 한번에 정리

728x90
반응형

 

1. SOAP(Simple Object Access Protocol)

http, https를 통해 XML기반 메세지를 교환하는 프로토콜

 

WSDL Doc

웹 서비스를 서비스에 대한 정보를 기술하기 위한 XML 기반 마크업 언어.

 

UDDI 

웹 서비스 저장소

 

SOAP의 한계

WSDL로 정의하고 UDDI에 저장하고 서비스를 UDDI에 요청하여 받아와서 사용 하므로

구조가 복잡하고 http에서 전달되기 무겁다.

(프로토콜 자체라 보안이나 메시지 전송 등에 있어서 REST보다 더 많은 표준들이 정해져있기 때문에 조금 더 복잡함)

 

개발 환경이 필요하고, UDDI(저장소)를 거쳐야 한다.

https://rameshmetta.com/articles/2014/10/web-services-part-5-soap/

2. REST(REpresentational State Transfer)

ROA를 구현하기 위한 자원을 중심으로 한 애플리케이션 개발 아키텍쳐의 한 종류

(ROA: "RESTful"인터페이스를 사용하여 자원의 인터넷 작업 형태로 소프트웨어를 설계하고 개발하기위한 소프트웨어 아키텍처)

client의 요청에 server가 응답하는 형태로 client와 server로 구분되어 개발이 쉽고, 확장성이 좋다

SOAP와 달리 UDDI(중간 저장소)를 통하지 않아도 됨

REST의 개념

- 모든 자원은 URI를 갖고있고 서버에 저장된다.

- HTTP Method(GET, POST, PUT, DELETE)를 이용해 리소스에 대해 CRUD 명령을 적용

 

 

 

 

위까지 이해했다면 3번 RESTful에 대한 이해는 쉽다.

 

3. RESTful

‘REST API’를 제공하는 웹 서비스를 ‘RESTful’하다고 한다.
목적은 이해와 사용이 쉬운 REST API를 만드는 것.

 

RESTful 하지 못한 경우

Ex1) CRUD 기능을 모두 POST로만 처리하는 API
Ex2) route에 resource, id 외의 정보가 들어가는 경우(/students/updateName)

 

 


✔️ 참고

 

https://www.youtube.com/watch?v=9jjmfB0wIGQ 

https://blog.wishket.com/soap-api-vs-rest-api-%EB%91%90-%EB%B0%A9%EC%8B%9D%EC%9D%98-%EA%B0%80%EC%9E%A5-%ED%81%B0-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80/

https://en.wikipedia.org/wiki/Resource-oriented_architecture

https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

 

728x90
반응형