티스토리 뷰
공통점
: API(Application Programming Interface)를 구축하는 방법을 정의한다.
차이점
REST(Representational State Transfer) | SOAP(Simple Object Access Protocol) |
프로토콜이 아님 | W3C에서 유지관리하는 공식 프로토콜 |
가벼움 주로 IoT, 모바일 앱 개발, 서버리스 컴퓨팅 개발에 사용 OpenAPI (ex. Google Maps API, 공공데이터 API 등 )에 사용 |
무거움 주로 XML 메시징 같은 특정 요구사항이 필요한 경우 사용 기본 보안 및 트랜잭션 준수를 제공 |
REST(Representational State Transfer) : 표현 상태 전송
: 경량 웹 서비스 및 모바일 애플리케이션의 요구사항에 맞춰 조정된 일련의 아키텍처 원칙
: 권장 사항의 구현은 개발자에게 맡겨짐.
: HTTP 상에서 주로 이루어짐
: HTML, XML, 일반 텍스트, JSON 등 다양한 형식으로 메시지 반환 가능
RESTful?
REST 원칙이 지켜진
1. RESTful 조건
① 클라이언트-서버 아키텍처로 구성됨
② stateless : 세션 정보가 클라이언트에 보관
③ 데이터 캐싱
④ 표준화된 전송 형식이 정해진 통일된 인터페이스
⑤ 계층화된 시스템 제약조건
⑥ (선택) 주문형 코드를 사용하면 서버에서 실행 가능한 코드를 전송하여 클라이언트의 기능을 확정할 수 있음
SOAP : 단순 객체 액세스 프로토콜
: ACID( atomicity, consistency, isolation, and durability ; 안정적인 DB 트랜젝션 보장을 위한 속성 집합)이 포함됨
: 페이지 로드 시간이 길어질 수 있음
- 프로토콜이기 때문에 복잡성과 오버헤드를 증가시키는 기본 제공 규칙을 제공하므로 발생하는 현상
: HTTP(웹 브라우저), SMTP(이메일), TCP 등 모든 응용 계층 프로토콜을 통해 처리될 수 있음
: Request가 수신될 시 Respone되는 SOAP 메시지는 XML 문서로 반환되어야 함
: SOAP API에 대한 완료된 요청은 브라우저에서 캐시할 수 없으므로 나중에 API로 다시 보내지 않으면 접근할 수 없음
1. 일반적인 웹 서비스 사양
① 웹 서비스 보안(WS-security)
② 웹 서비스 신뢰 전송(WS-ReliableMessaging)
③ 웹 서비스 주소 지정(WS-addressing)
④ 웹 서비스 설명 언어(WSDL)
출처
RedHat 공식문서
https://www.redhat.com/en/topics/integration/whats-the-difference-between-soap-rest
REST vs. SOAP
REST and SOAP define how to build application programming interfaces, which allow data to be communicated between web applications.
www.redhat.com
REST 공식문서
https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST)
proxy CERN Proxy, Netscape Proxy, Gauntlet
ics.uci.edu
'개발' 카테고리의 다른 글
[Spring Boot] 1. 스프링 부트 기능 특징 (0) | 2024.06.13 |
---|---|
[Web] React, Spring boot 연동 (2) | 2024.03.21 |
[SSH] 클라이언트 정리 (0) | 2024.03.13 |
[nginx] 이미지 올리기 (0) | 2024.03.02 |
IoT 사진 (2) | 2023.11.20 |
- Total
- Today
- Yesterday
- 19637
- 2228
- 16918
- onos
- ubuntu
- 죽음의 비
- Four Squares
- 비교표현식
- 파이썬
- 3대요소
- 구간 나누기
- 라그랑주 네 제곱수 정리
- 특정 거리의 도시 찾기
- 18352
- mysql 유저 생성
- 끝나지 않는 파티
- 백준
- 구간나누기2
- 말이 되고픈 원숭이
- 내 아이피.한국
- 11265
- db 외부 접속
- Python
- 13397
- 22944
- 5547
- 뷰탬플릿
- 5557
- 17626
- BOJ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |