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
| 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 |