API는 웹을 다루는데 필수적이다.
API : Application Programming Interface
*Interface : 서로 다른 두 시스템 사이 정보나 신호를 주고받는 경우의 매개체
두 SW 구성 요소 간 통신을 가능하게 하는 메커니즘
API는 여기서 개인(Client)이 데이터 및 연산을 요청하면 그것에 응답하는 일종의 점원이다.
출처 : Be GeekyAPI를 보다보면 REST API라는 것을 볼 수 있다. REST API는 무엇일까?
REST API : HTTP 규약을 잘 따른 API
RESTful API : HTTP 규약을 매우 잘 따른 API
REST API URL 규칙
*URL : 인터넷 상에서 웹 페이지의 "위치"를 알려주기 위한 규약
- 대문자 X, 소문자 O
- 언더바(_) X, 하이픈(-) O
- 마지막에 / 포함 X
- 행위(목적) 포함 X
- 파일 확장자 포함 X
- 복수형 사용 권장
ex. POST http://localhost:8888/DeleteAllProducts
→ DELETE http://localhost:8888/products
ex2. http://localhost:8888/product1
→ http://localhost:8888/products/1
XML 기반의 프로토콜을 사용
클라이언트가 필요한 데이터만 요청할 수 있는 쿼리 언어
Google에서 개발한 고성능 오픈소스 RPC 프레임워크
OPEN API는 "누구나 자유롭게 사용할 수 있도록 공개된 API" 이다.
국내에는 공공데이터포털, 네이버 Developers, 카카오 Developers 등이 있고,
Spotify (음악 스트리밍 서비스), Deepl (번역 사이트), Zillow (부동산 시장 회사)
등 세계적으로 유명한 기업의 서비스도 이용할 수 있다.
API를 사용하면 웹 개발에서 기능을 확장 시킬 수 있다.
우선 복잡한 기능을 직접 구현하지 않고,
미리 만들어진 다양한 서비스와 통합을 할 수 있다.
또한 표준화, 간소화, 협업의 편리함 등의 장점 뿐만 아니라,
다른 곳의 데이터를 활용하여 웹의 기능을 향상 시킬 수 있다.
웹 개발을 하기 위해서 API는 더욱 중요해지고 있다.
웹이 진화하고 있고, 양방향 통신 요구로 API의 중요성은 점점 높아져 가고 있다.
또한 하나의 웹 (혹은 앱)에서 여러가지 서비스를 요구하는 것도 늘어나는 추세이다.
이를 위해서 API 공부는 '선택'이 아닌 "필수"이다.