DevOps study

REST API (Application programming Interface) 정리

robin0309 2020. 12. 25. 14:13

API : 두개의 시스템이 서로 상호 작용하기 위한 인터페이스

* 데이터를 주고받는 인터페이스 , 보통 API 는 Rest 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
반응형