[WEB] API란?

API란 앱 사이에 데이터를 주고받는 규칙이라고 할 수 있다.
또한 공공데이터포탈에 업로드되어있는 오픈 API를 활용할 수 있다
웹서비스에서 사용되는 회원가입, 결제, 인증, 메시지 전송과 같은 기능들은 API로 구현되어 있다.
 
 
내가 현재 공부하고 있는 프런트엔드는 백엔드에게 데이터를 요청하여 사용자에게 보여주게 되는데
그렇게 백엔드에 데이터를 요청할 때 지키는 규칙은 API(application programming interface)라고 한다.
 
프론트엔드에서 백엔드로 API규칙에 맞게 데이터를 요청(Request), 백엔드가 프론트엔드로 응답(response) or 데이터베이스에 저장하는 방식으로 웹사이트가 굴러가게된다.
 
 
API가 요청을 받으면 제이슨(JSON) 형태로 응답함.
 

API(HTTP,URL)


대표적인 API는 바로 HTTP(Hypertext transfer protocol)
 
<헤더와 바디>


Header-인증키, 언어, 웹브라우저의 종류, 사용자 운영체제, 프로토콜
 
Body(본문)-실제 데이터 내용
 
*HTTP와 HTTPS의 차이?
SSL(secure sockets layer) 기술을 적용해 보안을 강화시킨 것으로 HTTP 통신에서 발생하는 요청, 응답을 암호화한 것임
이러한 기술을 적용하기 위해선 신뢰할 수 있는 인증기관에서 인증서를 발급받아야 함.
따라서 이렇게 디지털 서명이 되어 암호화된 데이터는 외부에서 탈취, 조작 불가능함.
 
 
 
URL(uniform resource locator) 또한 전 세계 공통 규칙으로 작성되어있음
 
http(s):// : 프로토콜
 
www.youtube.com : 호스트 host 이름
 
/watch : 경로 path
호스트의 어떤 서비스를 이용할 것인지를 나타냄, 경로는 공통규칙 x, 웹서버에 따라 다르게 자유롭게 지정할 수 있음
 
/watch 이외에도 /search, /auth(인증), /checkout/order(주문), /user 등등이 있음.
 
: 쿼리 문자열
경로 path뒤에 나타나는?로 시작하는 부분은 쿼리(질의, 검색) 문자열(query string)이라고 함
 
? 뒤에 나타나는 값이 조건, 등호= 뒤에 할당되는 것이 값(value)라고 함.
https://www.youtube.com/results?search_query=무한도전

 

https://www.youtube.com/results?search_query=%EB%AC%B4%ED%95%9C%EB%8F%84%EC%A0%84

www.youtube.com

유튜브에서는 검색어를 의미하는 조건의 의미로 search_query를 설정하였기 때문에
? search_query=무한도전을 작성하면 무한도전을 검색한 결과를 요청하게 된다.
 
 +추가 조건을 붙이고 싶다면

쿼 앱 사이에 데이터를 주고받는 규칙이라고 할 수 있다.

또한 공공데이터포탈에 업로드되어있는 오픈 API를 활용할 수 있다

웹서비스에서 사용되는 회원가입, 결제, 인증, 메시지 전송과 같은 기능들은 API로 구현되어 있다.

 

 

내가 현재 공부하고 있는 프런트엔드는 백엔드에게 데이터를 요청하여 사용자에게 보여주게 되는데

그렇게 백엔드에 데이터를 요청할 때 지키는 규칙은 API(application programming interface)라고 한다.

 

프론트엔드에서 백엔드로 API규칙에 맞게 데이터를 요청(Request), 백엔드가 프론트엔드로 응답(response) or 데이터베이스에 저장하는 방식으로 웹사이트가 굴러가게된다.

 

 

API가 요청을 받으면 제이슨(JSON) 형태로 응답함.

 

 

API(HTTP,URL)

 

 

대표적인 API는 바로 HTTP(Hypertext transfer protocol)

 

<헤더와 바디>

 

 

Header-인증키, 언어, 웹브라우저의 종류, 사용자 운영체제, 프로토콜

 

Body(본문)-실제 데이터 내용

 

*HTTP와 HTTPS의 차이?

SSL(secure sockets layer) 기술을 적용해 보안을 강화시킨 것으로 HTTP 통신에서 발생하는 요청, 응답을 암호화한 것임

이러한 기술을 적용하기 위해선 신뢰할 수 있는 인증기관에서 인증서를 발급받아야 함.

따라서 이렇게 디지털 서명이 되어 암호화된 데이터는 외부에서 탈취, 조작 불가능함.

 

 

 

URL(uniform resource locator) 또한 전 세계 공통 규칙으로 작성되어있음

 

http(s):// : 프로토콜

 

www.youtube.com : 호스트 host 이름

 

/watch : 경로 path

호스트의 어떤 서비스를 이용할 것인지를 나타냄, 경로는 공통규칙 x, 웹서버에 따라 다르게 자유롭게 지정할 수 있음

 

/watch 이외에도 /search, /auth(인증), /checkout/order(주문), /user 등등이 있음.

 

: 쿼리 문자열

경로 path뒤에 나타나는?로 시작하는 부분은 쿼리(질의, 검색) 문자열(query string)이라고 함

 

? 뒤에 나타나는 값이 조건, 등호= 뒤에 할당되는 것이 값(value)라고 함.

https://www.youtube.com/results?search_query=무한도전

 

 

https://www.youtube.com/results?search_query=%EB%AC%B4%ED%95%9C%EB%8F%84%EC%A0%84

 

www.youtube.com

유튜브에서는 검색어를 의미하는 조건의 의미로 search_query를 설정하였기 때문에

? search_query=무한도전을 작성하면 무한도전을 검색한 결과를 요청하게 된다.

 

 +추가 조건을 붙이고 싶다면

 

쿼리조건 뒤에 &을 붙이고 추가조건을 쓰면 된다.
 
오픈 API
 
🔸 국내 오픈 API
서비스개발자 센터 / API 문서 주소

카카오 https://developers.kakao.com
네이버 https://developers.naver.com
쿠팡파트너스 (상품 검색 등) https://developers.coupang.com
토스 (비즈니스) https://toss.im/open-api
카카오페이 https://developers.kakaopay.com
배달의민족 (우아한형제들) https://developer.baemin.com
GS편의점 https://gsretail.github.io/ (공식은 아니지만 일부 공개됨)
공공데이터포털 https://www.data.go.kr (국가 데이터, 무료 API 풍부)
우체국 (우편번호 등) https://www.epost.go.kr/search/zipcode/areacdAddressDown.jsp
우편번호 API (행안부) https://business.juso.go.kr/addrlink/devGuide.do

 

🔸 해외 오픈 API

서비스개발자 센터 / API 문서 주소
Google API (지도, 검색 등) https://console.developers.google.com
OpenWeather (날씨 정보) https://openweathermap.org/api
YouTube Data API https://developers.google.com/youtube
Twitter API (X) https://developer.twitter.com
Meta (Instagram/Facebook) https://developers.facebook.com
Amazon Product Advertising API https://affiliate-program.amazon.com
Stripe (결제 API) https://stripe.com/docs/api
GitHub API https://docs.github.com/en/rest