본문 바로가기
네트워크

[네트워크] RESTful API 란?

by 볼링치는 개발자 2021. 5. 31.
반응형

RESTful API

RESTful API란 REpresentational State Transfer의 약자로 REST아키텍처를 만족하는 API입니다.

 

REST 아키텍쳐

  • Client-server
  • Stateless
  • Cache
  • Uniform Interface
  • Layered System
  • Code-on-demand

이를 좀 더 쉽게 말하면 다음과 같이 말할 수 있습니다.

RESTful API는 기계와 기계가 HTTP로 통신할 때 리소스는 URI로, 행위는 Method로, 결과는 응답 코드로 통신한다.
즉, RESTful API는 기계과 기계가 소통할 때 사용하는 일종의 규약이다.

REST 한 방식은, 기존의 SOAP방식을 대체한 것입니다.


리소스를 URI로 표현하자

다음과 같은 URI를 보면 몇 가지 사실을 유추할 수 있습니다.

https://example.com/classes/2 
흠.. 뭔가 교실에 대한 정보인데 그중에서도 2반의 정보구나!

 

 

혹은 다음과 같은 URI를 보면 더 자세한 사실을 유추할 수 있습니다.

https://example.com/classes/2/students?count=10 
흠 뭔가 2반에 대한 정보인데 학생들의 정보를 10개 보여주는구나!

 

이렇게 자원을 구조와 함께 URI로 표현하는 것이 RESTapi의 일부입니다.

 

https://example.com/classes 같은 경우에는 하나의 컬렉션(Collection)을 의미하고,

https://example.com/classes/2 같은 경우네는 하나의 원소(Element)를 의미합니다.


행위는 Method로

행위는 CRUD로 표현하며 Create, Read, Update, Delete입니다.

자원을 생성, 조회, 수정, 삭제하는 행동입니다.

 

HTTP 프로토콜의 메서드에는 다음과 같이 정리할 수 있습니다.

GET CRUD중 Read 시 사용
POST CRUD중 Create 시 사용, Body라는 공간에 정보들을 많이, 안전하게 전송 가능
DELETE CRUD중 Delete 시 사용
PUT CRUD중 Update 시 사용, Body라는 공간에 정보들을 많이, 안전하게 전송 가능
데이터를 통째로 변경함
PATCH CRUD중 Update 시 사용, Body라는 공간에 정보들을 많이, 안전하게 전송 가능
데이터중 일부를 변경함

결과는 응답 코드로

HTTP 프로토콜의 메서드를 통해 데이터를 클라이언트가 서버에게 요청을 전송하면, 서버 측에서는 응답 코드와 함께 데이터를 같이 보내줍니다.

 

그 응답코드 중 가장 대표적인 몇 개만 정리해 보겠습니다.

200 OK 성공적으로 행위를 처리했을때 돌아오는 코드
201 요청이 성공적으로 처리돼 리소스서 생성되었을때 (POST method)
400 요청 자체가 잘못되었을때 에러 코드
404 찾는 리소스가 없다는 에러 코드
500 올바른 요청에 대해 내부 서버 에러로 인해 응답할 수 없다는 에러 코드
반응형

'네트워크' 카테고리의 다른 글

[네트워크] WAS vs Web Server  (0) 2021.06.01

댓글