contetns
summary
☑️ 역할 및 특징
🎯 권한 관리
🎯 프로그램 간 (원활한) 통신 지원
🎯 접속 표준화
DB에 접근하는 요청을 표준화 해준다. 즉, 규칙을 지정해 주는 것.
예시.
이 두 문장은 같은 데이터를 의미. 하지만 규칙성이 없어 처리에 어려움이 있다.
따라서 데이터 API 접근시 규칙을 두어주는 것이 되고, 이것이 곧 API 표준화.
☑️ 종류
API 통신의 종류로는 크게 4가지가 존재. 이는 주로 허용 범위와 관련되어 있다.
🎯 Public API : 누구나 사용가능한 공개 API
🎯 Private API : 사내에서 사용하는 API
🎯 Partner API : 미리 정해놓은 사용자들만 쓰는 API
🎯 Window API : 운영체제 대상 API
☑️ 데이터 포맷
API 통신 이후 우리가 보게될 데이터의 형식은 주로 아래 두가지.-> 데이터 프레임으로 저장할예정!
🎯 JSON: JavaScript Object Notation의 약어로 JavaScript에서 객체를 만들 때 사용하는 표현식. JSON은 웹브라우저상에서 작동하면서 데이터를 저장하거나 전송할 목적으로 디자인된 경량의 DATA 교환형식을 의미. 또한, 그 작성구조가 매우 간단하고 타 프로그래밍언어에 서도 용이하게 작성할 수 있다는 범용성 측면에서 그 강점을 가지고 있다.
🎯 XML: XML은 EXtensible Markup Language의 줄임말로, 데이터베이스상에서 데이터필드값을 어떤 구조로 배치해 저장할 것인가를 정의. XML에서 <>안에 특정 요소를 넣으면 해당 태그 안의 내용은 데이터베이스의 구조상 해당 요소의 데이터필드값으로 정의가 가능하다는 의미를 가지고 있다.
🎯 차이점: XML은 태그를 기반으로 데이터값의 구조적 위치를 정의. 반면, JSON은 단순히 중괄호({})에 데이터값을 일렬로 나열 후 각 데이터값마다 comma(,)로 구분을 짓는다.
🎯HTTP 프로토콜: 웹 브라우저로 웹 사이트에 접속할 경우 따르는 규약에 대한 프로토콜
🎯 HTTP : Hyper Text Transfer Protocol 의 약자로 웹 환경에서 정보를 주고받기 위한 프로토콜
🎯 HTTP API: HTTP를 이용해 프로그램끼리 소통하는 API로, 우리가 흔히 보는 OPEN API, facebook API, kakao API 등의 대부분 API는 HTTP라는 통신 규칙으로 소통하는 API.
즉, HTTP를 사용해서 서로 정해둔 스펙으로 데이터를 주고 받으며 통신하는 것을 말함.
🎯 역사: 2000년도에 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개되었다. HTTP의 주요 저자 중 한 사람으로 웹(HTTP) 설계의 우수성 대비 활용도가 낮은 점에 기반하여
HTTP의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표.
REST API는 이 원칙을 준수해 만든 API.
네트워크 아키텍처 스타일 = 네트워크 자원을 정의하고 처리하는 방법
🎯 특징: HTTP 통신 프로토콜을 따르면서, 아래 4가지 추가 규약을 따른다. (참고)
☑️ API 통신 제반사항
다양한 기업에서 API 통신을 통해 데이터를 제공. 기업은 일부 데이터를 제공함으로써 서비스의 영향력을 키울 수 있어 다소 민감한 정보(고객, 매출)를 제외한 데이터를 제공하는 추이를 보이고 있다.
☑️ python 준비 - Request Library
REST API를 사용하기 위해서는 파이썬에서 requests 라이브러리를 사용.
requests는 python 으로 HTTP 호출시 가장 많이 사용되는 라이브러리.
주요 함수는 아래 4가지가 존재.
key point
역할:
종류:
데이터 포맷:
API 통신 제반사항
다양한 기업이 API를 통해 데이터 제공.
주요 API 제공처: 공공데이터포털, 카카오, 네이버, 구글, Riot, 한국은행.
Python 준비 - Requests Library
주요 함수: