REST
HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍쳐
REST API
REST를 기반으로 서비스 API를 구현한 것
REST는 자체 표현구조로 구성되어 REST API만으로 HTTP 요청의 내용을 이해할 수 있다.
REST API 의 3요소
| 구성 요소 | 내용 | 표현 방법 |
|---|---|---|
| 자원(resource) | 자원 | URI(엔드포인트) |
| 행위(verb) | 자원에 대한 행위 | HTTP 요청 메서드 |
| 표현(representations) | 자원에 대한 행위의 구체적 내용 | 페이로드 |
# bad
GET /getTodos/1
GET /todos/show/1
# good
GET /todos/1
HTTP 요청 메소드 : 클라이언트가 서버에게 요청의 종류와 목적 (리소스에 대한 행위)을 알리는 방법
| HTTP 요청 메서드 | 종류 | 목적 | 페이로드 |
|---|---|---|---|
| GET | index/retrieve | 리소스 취득 | X |
| POST | create | 리소스 생성 | O |
| PUT | replace | 리소스의 전체 교체 | O |
| PATCH | modify | 리소스의 일부 수정 | O |
| DELETE | delete | 리소스 삭제 | X |
리소스에 대한 행위는 URI에 표현하지 않는다.
# bad
GET /todos/delete/1
# good
DELETE /todos/1
항상 REST API만 나오면 뭔지는 알겠는데.. 이 단어를 어느 때에 어떻게 써야 맞게 쓰는 건지 잘 몰랐었다. 이번 챕터에 생각보다 어렵지 않게, 길지 않게 적혀 있어서 정리가 잘 되었다. (물론 뒤의 실습 부분은 정리 안함)
REST는 HTTP(HyperText Transfer Protocol)를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍쳐고 REST API는 그 REST를 기반으로 서비스 API를 구현한 것이다.
이제 이해 했으니 이대로 외우면 되겠다. ㅎㅎ