Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 딥러닝
- 이것이자바다확인문제
- 스파르타코딩클럽
- 운영체제
- 백준괄호
- 카카오코테
- BOJ1655
- 백준온라인저지
- 가운데를말해요
- 백준10828
- 합성곱연산
- 백준스택
- BOJ
- 냅색알고리즘
- 윤곽선검출
- KT포트포워딩
- 컴퓨터비전
- 2019카카오코테
- 백준
- 이것이자바다
- 확인문제
- 코테
- 코드트리
- 코딩테스트실력진단
- 백준가운데를말해요
- java
- 웹개발기초
- 백준평범한배낭
- 백준9012
- 이것이자바다9장
Archives
- Today
- Total
코딩하는 락커
[Spring Boot를 이용한 RESTful Web Services 개발] 1~2강 본문
🍃 Spring/🌱 Spring Boot를 이용한 RESTful Web Service
[Spring Boot를 이용한 RESTful Web Services 개발] 1~2강
락꿈사 2022. 1. 31. 16:01Web Service & Web Application
Web Service란?
- www(world wide web)을 사용한 디바이스와 디바이스간의 통신 서비스
- 네트워크 상에서 특정한 포트를 열어놓은 서버가 클라이언트에게 요청을 받은 다음, html, json, xml과 같은 문서를 제공하는 서비스
- www, internet, http의 기술을 사용하는 웹을 통해서 특정한 도메인의 문제를 해결하기 위한 웹어플리케이션 서비스
- 네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호작용하기 위한 소프트웨어 시스템
3 keys
1. 머신과 머신, 또는 어플리케이션과 어플리케이션의 상호작용을 위한 설계
2. 플랫폼에 독립적인 구조
3. 어플리케이션간의 네트워크를 통한 통신 지원
Web Application이란?
- 서버에 저장되어 있고, 웹 브라우저를 통해서 실행할 수 있는 프로그램, 즉 어플리케이션 (ex. 웹메일, 온라인 쇼핑몰, 인터넷 뱅킹, 커뮤니티, 온라인 sns, 옥션 등 ..)
- 이러한 웹 어플리케이션을 사용하기 위해서 클라이언트(사용자)는 인터넷 웹 브라우저를 사용함 (인터넷 웹 브라우저는 http 프로토콜을 통해서 제공되는 html 문서를 해석해서 사용자에게 보여주는 어플리케이션)
- 웹 어플리케이션을 실행해줄 수 있는 서버를 Web Application Server라고 부름.
- Web Application의 특성상 외부의 DB와 연동되기로 함.
- 사용자의 요청이 html, css, javascript, image와 같은 정적인 동작인 경우 Web Server에서 수행 가능하지만, 프로그램 동작, 계산, 외부 서비스와의 연동 작업이 필요한 경우 Web Server는 클라이언트의 요청을 Web Application Server로 전달하고, 이것이 처리된 결과값을 Web Server를 통해서 클라이언트에게 전달됨
- request(input) = Web Application에서 Web Service로 전달되는 요청 정보.
- response(output) = Web Service에서 처리된 결과값을 클라이언트/Web Application에 전달해주는 반환값.
Web Service를 정의하기 위해서 필요한 것.
1. Request/Reponse Format (ex. xml, json ..)
2. Requset Structure
3. Response Structure
4. Endpoint(ex. URL,함수 .. )
- Service Consumer / Client = Web Service에 요청 정보를 전달하는 쪽.
- Service Provider / Server = 클라이언트 요청을 제공해주는 쪽.
SOAP vs RESTful
- 이런 Web Service를 개발하기 위해서 SOAP/RESTful을 사용할 수 있음
SOAP이란?
- SOAP(Simple Object Access Protocol)은 http, https, smtp등의 프로토콜을 이용해서 xml 기반의 메시지를 컴퓨터 네트워크 상에서 전달할 수 있는 시스템.
- http, https와 같은 통신 프로토콜 위에서 xml 메시지를 요청하고 응답받기 위한 서비스.
- 간단한 몇가지 정보를 보내기 위해서 복잡한 구조를 사용해야 함. 오버헤드 심함.
RESTful이란?
- REST(REpresentation State Trnsfer)는 상태, 즉 컴퓨터가 가지고 있는 자원(ex. 파일, DB에 저장된 데이터 등)을 전달하는 것.
- 각각 자원을 고유하게 표현하기 위한 이름으로써 구분한 다음 각 자원의 상태(정보값)를 전달.
- 플랫폼, 프로그래밍에 독립적이고 스마트폰 등 모바일 디바이스의 등장으로 인해 지금까지 많이 사용되어짐.
- http 프로토콜의 메소드를 이용하여 리소스를 처리하도록 설계되어 있는 아키텍처.
- http는 methods와 status code로 구성되어 있으며, 메소드는 클라이언트가 서버에 전달하게 되는 목적, 종류 등을 알려주는 수단. 리소스를 취득하기 위해서는 GET, 내용을 전달하기 위해서는 POST, 서버에 저장되어 있는 리소스를 삭제하기 위해서는 DELETE를 사용. status code는 서버로부터 결과가 처리된 다음 응답 코드와 함께 처리된 결과를 전달해주는 것. 200번대 응답코드는 정상 처리, 400번대 응답코드는 클라이언트의 오류, 500번대 응답코드는 서버측의 오류
- REST API는 이러한 RESTful 서비스를 제공하는 Application Programming Interface를 의미함.
- RESTful은 REST API를 제공하는 웹 서비스를 의미
- RESTful 서비스를 사용하기 위해서 HTTP 프로토콜을 사용하는 어플리케이션이 필요함. 일반적으로 인터넷 웹 브라우저가 많이 사용됨.
- URI(Uniform Resource Identifier) : RESTful 서비스에 의해 제공되는 모든 자원들은 각각 고유의 주소값.
SOAP vs REST
SOAP vs REST, 선택의 기준은?
1. 접근 제한성, 시스템 아키텍처의 구조에 맞는 것
2. 사용되는 데이터 문서 포맷의 종류
3. 서비스를 정의하는 방법
4. 전송되는 방법과 전송 규약
5. 구현 방법 (개발의 용의성)
- 최근에는 REST가 더 많이 사용되고 있음.
'🍃 Spring > 🌱 Spring Boot를 이용한 RESTful Web Service' 카테고리의 다른 글
[Spring Boot를 이용한 RESTful Web Services 개발] 8강 (0) | 2022.02.04 |
---|---|
[Spring Boot를 이용한 RESTful Web Services 개발] 6~7강 (0) | 2022.02.04 |
[Spring Boot를 이용한 RESTful Web Services 개발] 5강 (0) | 2022.02.02 |
[Spring Boot를 이용한 RESTful Web Services 개발] 4강 (0) | 2022.02.02 |
[Spring Boot를 이용한 RESTful Web Services 개발] 3강 (0) | 2022.02.02 |
Comments