API : 두개의 시스템이 서로 상호 작용하기 위한 인터페이스
* 데이터를 주고받는 인터페이스 , 보통 API 는 Rest API를 뜻 함
application(내컴퓨터) : HTTP라는 프로토콜을 통해Rest api에 주소를 요청
-> 서버는 해당 값을보고 다시 application(내컴퓨터)에 어떠한값을 리턴 값을 던져주게됨
HTTP : W3 상에서 정보를 주고받을 수 있는 프로토콜 (주로 HTML)
Request : 웹브라우저(클라이언트)를 통해 서버에 어떤 정보를 요청하는 것
Response : 요청 한 것에 대한 응답 값(Json 형태의 데이터로 들어옴)으로 들어 올 것
Authorization ( 권한 )
Authentication: Identity(정체)가맞다는 증명을 하는 것
Authorization: API를통한어떠한 액션을 허용 하는 권한 (누가 어떻게 쓰는지 추적 위해 사용)
* API가Authentication을 하여도 어떠한 액션에 대해서는 Authorization을 허용하지 않을 수 있음
권한을 통한 보안이 없을 경우 생기는 오류
• DELETE 리퀘스트를 통해서 다른 이용자의 정보를 지울수도있음
• 제 3자에게 데이터 유출로 이어질 수 있음
• 누가 API를 사용하는지,어떤 정보를 가져가는지 트래킹 할 수가 없음
API KEY 예시
Basic Auth 방법
OAuth 2.0 -> 가장 많이 쓰임
OAuth 2.0 방식 -> 해당 앱이 이름을 가져가는데 동의하느냐 하는 창이 뜨는 것을 보는데 그것이
End user가 보는 방식 enduser가 동의하면 동의 된값을 가지고 해당 app이 이 유저가 동의를 해줬다고
해당 사이트에 던져주면 해당 사이트가 정보를 받는 방식
Resource -> API를 통해 리턴 된 정보 , 하나의 리소스안에 여러개 endpoint 존재(Campaign 부분)
EndPoint -> Resource를 엑세스하는 경로 방법 , 아티스트에는 여러가지 앤드포인트가 존재하는데 말그대로 요청하는 URL의 값을 말함
Method -> 자원 접근에 허용된 행위 , 몇 가지 방식이 있는데
* 메소드 종류
1. post의 경우는 거꾸로 데이터를 해당 api 에 업데이트 하는 것
2. put 은 간단하게 업데이트 하는것
Parameter
-> Endpoint를 통해 request 할 때 같이 전달하는 옵션들
'DevOps study' 카테고리의 다른 글
Airflow 기초 (0) | 2022.01.11 |
---|---|
Class 개념과 상속 (0) | 2021.07.12 |
Pyqt 기초 문법 (0) | 2021.03.11 |
Spotify Web API request (0) | 2020.12.25 |