본문 바로가기
IT 프로그래밍 관련/API server ( Flask )

API 란 ?

by 지나는행인 2021. 4. 7.
728x90

API 란 .

 

Application Programming Interface 의 약자로 ,  응용제체나 프로그래밍 언어가 제공하는 기능을

 

제어하게 하는 인터페이스를 말한다.

 

클라이언트가 데이터베이스로 접근하는것에 관하여 중간자 역할을 수행한다.

 

* 클라이언트 , API. Database 관계

그 중 흔히 Restful API 라는 방법으로 사용을 하는데,

 

Rest란 서버나 서비스에 존재하는 모든 자원(이미지, 영상등)에 고유한 URI를 부여하여 활용하는 것이다.

( 자원에 고유한 주소를 지정하는 방법)

 

Rest의 구성에는, 

 

자원(Resource)

행위(Method)

표현(Message) 가 있으며,

 

자원은 http://naya.com/user   와 같은 형태의 URI(URL)이다.

행위는 클라이언트가 웹서버에게 요청하는 목적 및 그 종류를 알리는 수단으로 HTTP 메소드를 사용한다.

          HTTP메소드 중 GET , POST , PUT , DELETE 가 대표적이다.

 

표현은 위의 그림처럼 서로간의 데이터를 주고 받는 형식으로 , JSON / XML 등이 있지만, 

          JSON이 대표적이다.

 

 

## URL 의 구성명칭은 아래와 같다.

 

 

## HTTP 메소드

* 데이터 전송간 관계

 

HTTP 메소드는 

GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, CONNECT, TRACE 가 존재하고

 

사용법으로는 

 

1. GET

  • 클라이언트가 서버에 리소스를 요청할 때 사용 ( CRUD 에서 Read )

2. POST

  • 클라이언트가 서버의 리소스를 새로 만들 때 사용 ( CRUD 에서 Create )

3. PUT

  • 클라이언트가 서버의 리소스를 수정 할 때 사용 ( CRUD에서 Update : 전체 수정 )

4. PATCH

  • 클라이언트가 서버의 리소스를 수정 할 때 사용 ( CRUD에서 Update : 일부 수정 )

5. DELETE

  • 클라이언트가 서버의 리소스를 삭제 할 때 사용 ( CRUD에서 Delete )

6. HEAD 

  • 클라이언트가 서버의 정상 작동 여부를 확인 할 때 사용

7. OPTIONS

  • 클라이언트가 서버에서 해당 URL이 어떤 메소드를 지원하는지 확인 할 때 사용

8. CONNECT

  • 클라이언트가 프록시를 통하여 서버와 SSL 통신을 하고자 할 때 사용

9. TRACE

  • 클라이언트와 서버간 통신 관리 및 디버깅을 할 때 사용

이다. 여기서 GET, POST PUT, DELETE를 가장 많이 사용한다.

 

 

 

## Message Format

 

클라이언트와 서버간에  요청(Request)과  응답(Response)을 위해서 JSON 문법을 기본으로 한다.

 

JSON 문법은 파이썬의 딕셔너리와 비슷하며, 오브젝트라고 한다.

 

* Request 와 Response

 

응답을 받아올때는 HTTP Status codes 를 받을 수 있다.

( 상황에 따라 HTTP Status Codes가 다르다. )

* HTTP Status Codes

위를 제외하고도 많은 HTTP Status Code가 있으니 , 필요시 검색하여 사용가능하다.

 

댓글