API란?
프로그래밍 인터페이스
상호 작용을 위한 인터페이스
운영체제 혹은 다른 애플리케이션과 상호 작용하기 위해 정의된 약속
REST
'네트워크'와 '웹'에 맞춰진 API 통신 아키텍처
'아키텍처 스타일'
API를 활용함에 있어서 그 API가 가져야할 디자인 철학, 혹은 미덕
현실적으로 99.99%의 네트워크는 우리가 소위 '인터넷'이라고 부르는 HTTP 기반 네트워크
-> REST API라고 하면 HTTP에 쓰이는걸 의미하는 경우가 많다
REST를 잘 준수하는 API는 따로 'RESTful API'
REST API
네트워크에서 '데이터'를 받아오기 위한 것
HTTPRequest를 보내서 JSON 또는 XML 형식으로 데이터 묶음이 온다
IT회사들도 단순 데이터 열람을 위해 REST API를 제공하는 경우가 많음
데이터 열람을 위한 공공 OpenAPI
게임회사에서 제공하는 유저 전적, 승률, 게임 내 각종 기록들
게임 '전적 검색 사이트'나 '로그 조회 사이트'(https://namu.wiki/w/Maple.gg)
(비교)프로그램에서의 API
'코드', 나아가 코드뭉치인 라이브러리를 받아오기 위해 쓰는 것
기업에서 설명하는 방식대로 자신의 코드에 import하여 특정 함수나 메소드를 쓸 수 있다
소스코드 단계에서 상호 작용
개발자가 아니면 사용할 일이 없음