웹개발/혼자하는 개발 공부

REST / RESTful / REST API 란?

데브리 2021. 10. 7. 01:06

 

데브리입니다. REST APIs 에 대해 많이 들어봤지만, 정확한 개념이 잡히질 않아서 오늘 공부하며 정리해 봤어요.

 

 


 

 

 REpresentational State Transfer

 

 

 

REST는 Software의 Architectural Style 중 하나로, 프로토콜이나 스탠다드는 아닙니다. REST 이전에는 SOAP이 많이 쓰였고, GraphQL, FALCOR 등이 있습니다.

 

이는 클라이언트와 서버 사이의 커뮤니케이션을 위한 것이라고 생각하면 되는데 클라이언트는 브라우저도 될 수 있고, 모바일 디바이스나 티비, 차 등이 될 수도 있어요. Communication layer between client and server. client can be browser, mobile device, even TV or car.

 

 

 

 

 


 

 

 

크게 API를 RESTful하게 만드는 룰은 두가지입니다.

 

1. Use HTTP Request Verbs

2. Use Specific Pattern of Routes/Endpoint URLs

 

 

 

 

 

 

 

 

REST 아키텍처에 적용되는 6가지 제한 조건 (참고용으로 wikipedia에서 가져온 내용)

 

 

 

 

 


 

 

 

REST CRUD Operation

 

 

Create: POST (생성)

Read: GET (조회)

Update: PUT / PATCH (수정)

Delete: DELETE (삭제)

 

 

app.get(function(req, res){

})

 

 

 

 


 

 

REST API란? (출처 RedHat.com)

 

 

 

 

 


 

 

RESTful Routing의 예시

 

 

 

 

 

 

 

 

 

 

 

* 참고용 사이트 

https://www.redhat.com/en/topics/api/what-is-a-rest-api

 

What is a REST API?

A REST API (also known as RESTful API) is an application programming interface that conforms to the constraints of REST architecture. REST stands for representational state transfer.

www.redhat.com