개방형 API
개방형 API는 누구나 또는 인증된 외부 주체가 표준 인터페이스로 접근하도록 공개한 API다. 날씨 앱이 기상청 서버의 데이터를 받아 보여 주듯, 외부에 문을 열어 둔 창구다. 시험 답안의 정의에는 공개 범위와 표준 인터페이스라는 두 조건을 모두 담아야 한다. 외부…
주요 장면
대본
개념 정의
개방형 API는 누구나 또는 인증된 외부 주체가 표준 인터페이스로 접근하도록 공개한 API다.
날씨 앱이 기상청 서버의 데이터를 받아 보여 주듯, 외부에 문을 열어 둔 창구다.
시험 답안의 정의에는 공개 범위와 표준 인터페이스라는 두 조건을 모두 담아야 한다.
구성요소
외부 앱의 요청은 API 게이트웨이를 거쳐 백엔드 시스템으로 전달된다.
개발자 포털은 키 발급과 명세 공개를 맡고, 인증 서버는 액세스 토큰을 발급한다.
백엔드를 외부에 직접 노출하지 않고 공개 범위와 권한을 통제하는 것이 목적이다.
SOAP와 REST 비교
개방형 API의 대표 방식은 SOAP과 REST다. 두 방식은 규약의 무게가 서로 다르다.
SOAP은 HTTP 같은 전송 프로토콜 위에서 XML 메시지를 교환하는 프로토콜이다.
REST는 HTTP 원리를 따라 자원을 URI로 식별하는 아키텍처 스타일이다.
답안에서는 SOAP은 프로토콜, REST는 스타일이라는 구분을 첫 문단에 밝힌다.
인증과 보안 대응
개방형 API에서는 인증을 통과한 요청만 백엔드에 닿아야 한다.
외부 개발자는 인증 서버에서 액세스 토큰을 먼저 받고, 요청마다 헤더에 실어 보낸다.
게이트웨이는 토큰의 유효성과 권한 범위를 확인한 뒤에만 백엔드로 전달한다.
취약점마다 대응 방안을 1:1로 짝지어 정리하면 답안 점수가 높다.
REST 무상태 원칙
REST의 무상태 원칙은 서버가 이전 요청의 상태를 저장하지 않는다는 뜻이다.
요청마다 인증 정보를 포함하므로 어느 서버가 요청을 받아도 같은 결과가 나온다.
서버를 늘려도 세션을 공유할 필요가 없어 수평 확장이 쉽다. 시험에서 자주 묻는 핵심이다.
이 원칙의 이름을 직접 골라 보자.
정리
개방형 API는 인증된 외부 주체에게 표준 인터페이스로 공개한 API다.
SOAP은 프로토콜, REST는 아키텍처 스타일이라는 구분을 먼저 밝힌다.
보안은 인증·인가, 전송 암호화, 과도한 접근 통제를 짝지어 대응한다.
게이트웨이는 단일 진입점으로서 인증·제한·로깅을 한곳에서 처리한다.