본문 바로가기
CS 개념정리/네트워크

API 개념 정리 - Rest API, Soap API

by 반오십 코린이 2023. 1. 6.
728x90

API란?

 API는 어떤 서버에 접속해서 해당 서버의 데이터나 서비스를 이용할 수 있게 해주는 소프트웨어 도구

서버에만 국한되지 않고 Process - Process 간의 인터페이스라고도 함

Rest API(Representational State Transfer)란?

네트워크를 통해 컴퓨터들끼리 통신할 수 있게 해주는 아키텍쳐 스타일

Client - Server 모델로 구축되었다는 의미.

URI와 HTTP 프로토콜을 기반으로 함.

데이터포멧으로 JSON 사용 - 브라우저들 간에 호환성이 좋다

단일 경로를 사용하기 때문에 해당 API를 사용하는 애플리케이션들이 동일 경로를 통해 접속. - 방식 단순화

웹에 최적화 되어 있음

캐시 사용 가능

ACID 관련 내용 없음

보안: HTTP, SSL

 

SSL (Secure Socket Layer): 보안 프로토콜을 통해 클라이언트와 서버가 보안이 향상된 통신

 

Soap API란?

HTTP, HTTPS, SMTP 등의 XML 기반 메시지를 네트워크 상에서 교환하는 프로토콜이며 보안, 메시지 전송 등에 있어서 REST 보다 더 많은 표준들이 정해져 있다. - 상대적으로 복잡

보안수준이 엄격함

데이터포멧으로 XML 사용

기업 애플리케이션에 적합하다

캐시 사용 불가

ACID 준수

보안: WS - Security, SSL

 

WS - Security: SOAP 메시지에

Authentication(어떤 자원을 허락된 특정 그룹에만 허용하는 동작.)

Encryption(메시지를 다른 사람이 읽을 수 없게 암호화)

Signature(메시지 위변조, 발신인 확인하기 위해 고유 식별자 넣는 것) 등의 보안 적용.

Message Level Security 기반.

 

 

Rest API와 Soap API의 핵심 차이점?

웹에는 Rest API가 적합

기업 에플리케이션은 Soap API가 적합

 

Soap API의 기준이 더 엄격하다.

Rest API 기준이 더 느슨.

 

Rest API에선 클라이언트에서 해당 API가 필요하지 x

Soap API에선 클라이언트에서 해당 API 필요함

 

Rest는 Json과 HTTP를 사용하기에 페이로드(넘기려는 정보)의 무게를 가볍게 할 수 있다.

Soap은 XML 고정 사용이기이 비교적 무겁다

 

 

 

728x90