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 고정 사용이기이 비교적 무겁다
'CS 개념정리 > 네트워크' 카테고리의 다른 글
[네트워크 CS 준비] 3.HTTP (0) | 2023.01.13 |
---|---|
[네트워크 CS 준비] 2.URI와 웹 브라우저 요청 흐름 (0) | 2023.01.13 |
[네트워크 CS] 1. 인터넷 네트워크 (1) | 2023.01.12 |
웹사이트 보안 - SSL, TLS, HTTP, HTTPS 개념 정리 (0) | 2023.01.06 |
네이버 클라우드 플랫폼 - NCP 관련 용어 정리 (0) | 2022.12.27 |