본문 바로가기
사이드 프로젝트/개발몰입과정[2021_SUMMER]

1주차 개념 스터디 - 'REST API'란 무엇인가

by 의정부핵꿀밤 2021. 7. 31.
728x90

1. REST란?

- Respresentational State Transter의 약자로 자원을 이름으로 구분하여 자원의 정보 및 상태를 주고 받는 모든 것을 의미한다.

- HTTP URI를 통해 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 자원에 대한 CRUD Operation을 적용하는 것이다.

- REST는 기본적으로 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다.

- CRUD Operation

  • Create : 생성 (POST)
  • Read : 조회 (GET)
  • Update : 수정 (PUT)
  • Delete : 삭제 (DELETE)
  • HEAD : header 정보 조회 (HEAD)

2. REST의 구성 요소

1) 자원 : URI

- 모든 자원에 고유한 ID가 존재하고, 이는 server에 존재한다.

- 자원을 구별하는 ID는 '/group/student/:idx' 같은 HTTP URI이다.

- client는 URI를 통해 자원을 지정하고 해당 자원의 상태에 대한 조작을 server에 요청한다.

 

2) 행위 : HTTP Method

- HTTP 프로토콜의 GET, POST, PUT, DELETE와 같은 메소드를 사용한다.

 

3) 표현

- 클라이언트가 자원의 상태에 대한 조작을 요청하면 서버는 이에 알맞은 응답을 보낸다

- REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 표현으로 나타낼 수 있다.

(주로 JSON/XML을 통해 데이터를 주고 받음)

 

3. REST API의 특징

- 이는 REST 기반으로 서비스 API를 구현했기 때문에 확장성과 재사용성을 높여 유지보수 및 운영이 편리하다

- REST는 HTTP 표준을 기반으로 구현하므로, HTTP를 지원하는 프로그램 언어로 구현이 가능하다

 

4. RESTful이란?

- REST API를 제공하는 웹서비스를 표현하기 위한 단어로, 해당 웹서비스가 RESTful하다~ 이런식으로 사용

- 즉, CRUD 기능을 모두 POST로만 처리하거나 route에 resource, id 외의 정보가 들어가는 경우에는 RESTful하지 못하다고 할 수 있다.

 

 

참고) https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

728x90

댓글