API ( Application Programming Interface)
✔ API 란?
Application Programming Interface
두 프로그램이 서로 대화하기 위한 방법을 정의한 것.
예시)
· 운영체제(window, Mac OS) : 문서 작성 프로그램이 디스크에 있는 파일을 읽고 쓸 수 있도록 API 제공
· 기상청 : 지역별, 실시간 날씨 정보를 얻을 수 있는 API를 제공
애플리케이션 간의 통신은 웹 기반의 API가 널리 활용된다.
☑ HTTP
Hyper Text Transfer Protocol
인터넷에서 웹 페이지를 전송하는 기본 통신 방법 (통신 규약)
웹 서버 |
웹 데이터 요청 <<---------------------------------------------------------- HTTP |
웹 브라우저 |
---------------------------------------------------------->> 웹 데이터 전송 (HTML) |
* 웹서버, 웹 브라우저는 모두 소프트웨어 프로그램.
여기서 중요한 것은 ?
웹기반 API = HTTP 프로토콜을 사용해 API를 만드는 것.
☑ HTML
Hyper Ttext Markup Language
웹 브라우저가 화면에 표시할 수 있는 문서의 한 종류로 웹 페이지의 표준 언어
웹 기반 API 에 대해 더 알아보자
웹 기반 API는 웹 서버와 웹 브라우저가 대화하는 방식과 비슷하다.
HTTP 프로토콜을 사용하지만 주고받는 것은 HTML이 아니라 일반적으로 CSV, JSON, XML 같은 파일을 사용한다.
위의 파일을 선호하는 이유❓
HTML은 구조가 비교적 복잡하기 때문에.
주고 받는 데이터가 복잡한 구조를 가지면 프로그램에 버그가 발생할 가능성이 높아진다😢
웹 기반 API에서는 CSV보다 JSON, XML을 많이 사용한다.
CSV는 각 행마다 항목 개수가 정확하게 맞지 않으면 읽을 수가 없고,
행과 열로만 구성되기 때문에 복잡한 데이터 구조는 읽기 어렵기 때문!
이에 비해 JSON, XML은 다양한 구조 생성이 가능하다.
'Python' 카테고리의 다른 글
[Python/ 데이터 분석] JSON 데이터 (1) | 2023.04.11 |
---|---|
[Pandas] 컬럼명 변경하기/ 순서바꾸기 (0) | 2022.10.22 |
[차원축소와 군집분석] NMF : Non-negative Matrix Factorization (0) | 2022.10.04 |
[Python] 클래스 : 상속(Inheritance) (0) | 2022.08.29 |
[Python] 웹크롤링? 웹 스크래핑 (0) | 2022.08.28 |