Api 개발/flask

RestFul(Representational State Transfer) API

공부짱짱열심히하기 2023. 1. 3. 17:38

 

API

- 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할수 있게 만든 인터페이스

- API를 통해 소스 및 DB에는 접근하지 못하게 하고 해당 프로그램을 활용할수 있도록 제공해주는것

 

RestFul(Representational State Transfer) API

- 서버나 서비스에 존재하는 모든 자원(이미지, 동영상, DB자원)에 고유한 uri를 부여해 활용하는 것 = 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미

 

url: 

경로를 의미

데이터를 얻거나 사용하기위해 접속해야하는 경로

 

method:

그 경로에서 행하는 행동

 

message

서버에서 DB에 작업을 하고 반드시 클라이언트에게 response을 해줘야 하는데.

request는 클라이언트가 서버로 데이터를 요청하는 것을 말하고,

response는 서버가 클라이언트에게 데이터를 전달해주는 것을 말한다.

이 모든것이 json으로 이루어진다고 생각하면된다.

 

 

 

장점
HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구출할 필요가 없다.
HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있게 해준다.
HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다.
Hypermedia API의 기본을 충실히 지키면서 범용성을 보장한다.
REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악할 수 있다.
여러가지 서비스 디자인에서 생길 수 있는 문제를 최소화한다.
서버와 클라이언트의 역할을 명확하게 분리한다.


단점
표준이 존재하지 않는다.
사용할 수 있는 메소드가 4가지 밖에 없다.
HTTP Method 형태가 제한적이다.
브라우저를 통해 테스트할 일이 많은 서비스라면 쉽게 고칠 수 있는 URL보다 Header 값이 왠지 더 어렵게 느껴진다.
구형 브라우저가 아직 제대로 지원해주지 못하는 부분이 존재한다.
PUT, DELETE를 사용하지 못하는 점
pushState를 지원하지 않는 점

출처:
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

 

[Network] REST란? REST API란? RESTful이란? - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io