WebService
: 네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호 작용하기 위한 소프트웨어 시스템
(1) machine to machine or application to application 을 상호작용을 위한 설계
(2) 플랫폼에 독립적인 구조
(3) 어플리케이션간의 네트워크를 통한 통신 지원
Web Application
: 서버에 저장되어있고 웹 브라우저를 통해 사용할 수 있는 웹 프로그램
: ex) webmail, 온라인 쇼핑몰, 온라인 뱅킹 등
(1) 웹 브라우저
- HTTP 프로토콜을 통해 제공되는 HTML을 해석해서 보여줌
- 웹브라우저를 이용해 웹 애플리케이션을 사용
(2) webserver
- 웹 애플리케이션을 실행하기 위한 서버, 외부 데이터베이스와 같이 연결
: 클라이언트의 요청이 html,css 등은 웹 서버에서 수행이 가능하지만, 프로그램 동작이나 외부와의 서비스 연결이 필요할 때 클라이언트 요청을 웹서버에 전달 후 웹 애플리케이션에서 처리 된 결과 값을 웹서버에 재 전송, 클라이언트에 전달한다.
- 웹 애플리케이션에서 웹서버로 전송되고 전송 하는 요청을 request(input), response(output) 이라함.
- webservice를 정의하기 위한 정보
(1) Request/Response Format
(2) Request Structure
(3) Response Structure
(4) Endpoint (URL ...)
웹서비스의 요청 정보를 전달하기 위해 일반적으로 xml과, json을 사용해 개발하게 된다.
SOAP(Simple Object Access Protocol)
: HTTP, HTTPS 등 프로토콜을 이용해서 xml 기반의 메시지를 컴퓨터 네트워크 상에서 전달할 수 있는 시스템
: 복잡한 구조로 되어있고 오버헤드가 큼
RESTful
REST(Represnetational State transfer)
- soap과 마찬가지로 메시지를 컴퓨터 네트워크 상에서 전달할 수 있는 시스템
- Resource의 Representation에 의한 상태 전달
- HTTP Method를 통해 resource를 처리하기 위한 아키텍쳐
RESTful
- REST API를 제공하는 웹 서비스
REFERENCE
인프런 강의 - Spring Boot를 이용한 RESTful Web Services 개발
'공부 > Spring Boot를 이용한 RESTful Web Services 정리' 카테고리의 다른 글
[Spring Boot] HTTP Status Code 제어, Exception Handling (0) | 2021.08.06 |
---|---|
[Spring Boot] API 구현- Domain , GET , POST 예제 (0) | 2021.08.04 |
[Spring Boot] DispatcherServlet 작동 원리, @PathVariable 사용법 (0) | 2021.08.03 |
[Spring boot] @RestController ,@GetMapping 예제 (0) | 2021.08.03 |
[Spring boot] IntelliJ - Spring boot 시작하기 (0) | 2021.08.03 |