썸네일
1. API 개요
Resource
- API를 통해 리턴되는 정보
- 하나의 resource 안에 여러개의 endpoint가 존재할 수 있다.
Endpoint
- 리소스에 access하는 경로/방법
- method resource (ex. get/campaigns/(campaign_id)/actions/send )
Method
해당 리소스에 접근하는 방식
- get : 해당 리소스를 조회하고 정보를 가져온다(많이 사용)
- head : 응답코드와 head만 가져온다 (API가 잘 작동하는지 확인할 때 사용)
- post : 데이터를 해당 API에 새로 생성하는 것
- put : 데이터를 해당 API에 업데이트하는 것
- delete
Parameter
endpoint를 통해 요청할 때 같이 전달하는 옵션
- header : 주로 authorization이 들어가야 한다.
- path : url 중 ? 앞에 나오는 부분 중 {} 안에 포함되는 변수
- query : ? 뒤에 나오는 변수
- resuest body : post 시에 많이 사용됨. 주로 JSON 형태.
2. REST API vs. web API
REST API
- 데이터를 주고 받는 인터페이스. API라고 하면 보통 REST API를 지칭한다.
ex. 계산기: 보고 있는 ui, 계산하는 시스템 : ui와 시스템이 서로 정보를 주고 받는 것!
* REST API 모델
web API
- 웹을 통해 외부 서비스들로부터 정보를 불러오는 API
- 과정
① 컴퓨터에서 브라우저를 켜서 주소를 입력 : http라는 프로토콜로 브라우저에 입력
② 입력한 정보가 서버에 보내짐 request(요청)
③ 서버는 return 값을 보내줌(응답)
- 요청하고 받는 데이터 타입은 다양
→ 웹사이트는 http 프로토콜을 사용하는 rest api 기반으로 구축됨
3. API 접근 권한
authentication : identity가 맞다는 증명. 이 사람이 누구다, 라는 것을 증명.
authorization : API를 통한 어떠한 액션을 허용. 데이터를 어느 정도까지 줄 것인지 결정.
→ API가 증명을 해도(authentication) 어떠한 액션에 대해서는 데이터를 주지 않을 수 있다(not authorization).
보안 방인 없을 경우
- delete 이슈
- 제3자 데이터 유출
- 사용, 정보 가져감에 대한 트래킹 불가
접근권한 요청 시에는 API key를 같이 주면서 요청한다
- API key는 request url 또는 request 헤더에 포함되는 긴 스트링
ex. 구글 맵 API 예제 : 주소 블라블라~~key=YOUR_API_KEY <- 여기!
Baseic Auth
- 유저네임 패스워드 같은 정보를 합친 것을 base64로 인코딩(암호화)한것을 헤더 안에 포함
Oauth 2.0 : 요새 많이 씀!
유저 - 쓰고자 하는 앱 - 그를 위핸 SNS 로그인한 SNS
① 유저가 SNS 로그인 요청
② 앱이 SNS에 유저에게 동의받은 내용과 함께 필요정보 요청
③ SNS는 확인 후 요청받은 정보 전달
이런 내용이 더 있으면 좋겠다, 이건 뭐라는지 모르겠다, 그 외의 어떤 얘기든 댓글로 남겨주세요!
'Data Science : Study > 2. Data Engineering (FastCampus)' 카테고리의 다른 글
3강-3. Python API 토큰 가져오기 (Spotify) (1) | 2022.05.03 |
---|---|
3강-2. Spotify Web API (0) | 2022.05.02 |
2강-2. AWS CLI(Command Line Interface) - 커멘드 창에서 AWS 제어하기 (0) | 2022.04.29 |
2강-1. 기본적인 Unix / Shell Commands (0) | 2022.04.28 |
1강. 데이터 엔지니어링 개요 (0) | 2022.04.27 |