반응형
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 |
---|
댓글