API (Application Programing Interface)
- 응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게
만든 인터페이스
: 어느 프로그램에서 다른 프로그램의 기능을 가져와서 쓸 수 있는 것
ex) 애플리케이션에 카카오지도를 표시하기 (카카오 API 이용)
- 팁
: 공공데이터포털 (공공 API 제공)
- 종류
: REST API
: SOAP API
: JSON API (REST 기반)
API 통신 및 설계의 종류
REST (Representional State Transfer)
- 웹에 존재하는 모든 자원(이미지, 동영상, DB)에 고유한 URI를 부여해 활용하는 기술
: 자원에 대한 HTTP URI를 생성하고 HTTP Method를 통해 자원에 대한 제어를 적용
- CRUD Operation HTTP Method
: Create
ㆍPOST (자원 생성)
: Read
ㆍGET (자원의 정보 조회)
: Update
ㆍPUT (자원의 정보 업데이트)
: Delete
ㆍDELETE (자원 삭제)
- REST의 구성요소
: 자원 Resource URI
ㆍ자원에 대한 고유한 URI
: 행위 Method
ㆍ클라이언트에서 자원을 조작하기 위한 함수
ㆍPOST, GET, PUT, DELETE 등의 HTTP 메소드 이용
: 표현 Represent
ㆍ클라이언트가 서버로 요청을 보냈을때 서버가 응답으로 보내주는 자원
ㆍJSON, XML, TEXT, RSS 등 여러 형태로 클라이언트로 보내짐
- REST의 장점
: 쉬운 사용 (별도의 인프라 불필요)
: 경량화 (고유 URI을 통해 직접 전송하기 때문에 빠르고 단순함)
: 클라이언트와 서버의 명확한 분리
: 특정 데이터 표현 사용 가능
- REST의 단점
: 메소드의 한계
: 표준이 없음 (설계가이드만 있을뿐)
SOAP (Simple Object Access Protocol)
- 다른 플랫폼에서 다른 언어로 빌드된 애플리케이션이 통신할 수 있도록 설계된 최초의 표준 프로토콜
: HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 교환
- XML Document의 구성
: SOAP envelope
: SOAP header
: SOAP body
- SOAP의 구성
: WSDL (Web Service Description Language)
ㆍXML언어 기반의 데이터 정보 기술(Description) 언어
ㆍREST의 URI에 해당
: UDDI (Universal Description Descovery Intergration)
ㆍWSDL의 등록, 탐색, 바인딩을 담당하는 서비스
ㆍ서비스 제공자가 UDDI라는 저장소에 등록하면 사용자가 자료를 찾는 것
- 장점
: 프록시와 방화벽에 거의 구애를 받지 않음
: 플랫폼이나 언어에 독립적임
: 에러 처리가 기본적으로 내장 되어있음
: 웹서비스 표준 (XSDL, UDDI, WS-*)이 잘 정립되어 있음
- 단점
: 프로토콜 자체의 복잡한 구성으로 인한 무거우며 느림
: 높은 개발 난이도
REST VS SOAP
Refference
REST란
REST 란 ?
medium.com
SOAP API vs. REST API, 두 방식의 가장 큰 차이점은? - Wishket
API는 REST API 와 SOAP API로 나뉜다는데, 이 두 방식의 차이점은 과연 무엇일까요? 여러분이 애플리케이션을 개발하는 데 있어서 각각의 방식에 어떤 장점들이 있는지, 어떤 것이 더 잘 맞는지 비교
blog.wishket.com
[Network] REST란? REST API란? RESTful이란? - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
SOAP? REST? REST API? 무엇인가? :: 마이구미
이번 주제는 REST API에 관한 글이다. (REST와 RESTful 같다고 생각하자) 이전부터 지금까지 많이 볼 수 있는 트렌드이다. 다들 대략적인 의미는 알고 있을 것이라 생각한다. 이번 글에서는 연관된
mygumi.tistory.com
[Open API] SOAP 란?
저번 글에 Open API 가 무엇인지 대략적으로 무엇인지 썼었다. (지난 글 - http://devkingdom.tistory.com/11) 요즘에 Open API를 기업에서 제공할 때, SSL과 서명기능을 첨부한 RESTFul 방식으로 API를 제공한다...
devkingdom.tistory.com
SOAP API vs. REST API, 두 방식의 가장 큰 차이점은? - Wishket
API는 REST API 와 SOAP API로 나뉜다는데, 이 두 방식의 차이점은 과연 무엇일까요? 여러분이 애플리케이션을 개발하는 데 있어서 각각의 방식에 어떤 장점들이 있는지, 어떤 것이 더 잘 맞는지 비교
blog.wishket.com
웹서비스 ( SOAP, UDDI, WSDL ) 가 뭘까?
웹서비스 ( SOAP, UDDI, WSDL ) 가 뭘까? 웹스비스는 웹이라는 네트워크환경에 연결된 서로 다...
blog.naver.com
'Devops > DevOps' 카테고리의 다른 글
[데브옵스 개발자 로드맵 2020] API 보안기법 - 2. API 인가 (Authorization) (0) | 2021.02.08 |
---|---|
[데브옵스 개발자 로드맵 2020] API 보안기법 - 1. API 인증 (Authentication) (0) | 2021.02.08 |
[데브옵스 개발자 로드맵 2020] WAS (Web Applicatiob Server)의 종류 (0) | 2021.02.07 |
[데브옵스 개발자 로드맵 2020] 웹 서버의 종류 (웹 서버 비교) (0) | 2021.02.07 |
데브옵스 개발자 로드맵 (0) | 2021.01.31 |