RESTful API가 뭘까?

2020. 3. 4. 02:12dev/web 기초

RESTful API, REST blah blah...

귀에 딱지가 앉도록 많이들 들어보셨을 단어인데 어떤 의미인지 헷갈려서 매번 헤매고 있을 독자분들을 위해 정리해보았습니다.

REST란?

REST(Representational State Transfer)란 여러 개발 아키텍처의 한 형식입니다. REST 아키텍처에서는 자원(Resource)을 행위(HTTP Method)로 구분하여 해당 자원의 상태를 표현(Representation)합니다. 조금 더 구체적으로 표현하면, HTTP의 URI를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE, etc..)를 통해 자원(Resource)을 처리하도록 설계된 아키텍처를 REST라고 합니다.

REST의 구성요소

REST 아키텍처에서 강조하는 중요 구성요소가 있습니다. 바로 자원행위, 그리고 표현인데요. 각각에 대해서 알아볼까요?

자원(Resource) - URI

인터넷상의 모든 자원(image, html, js, css file, etc..)들은 저마다 고유한 주소, 즉 URI를 가집니다. 따라서 클라이언트는 이 URI를 통해 특정 자원을 지정하거나, 이에 대한 조작을 서버로 요청할 수 있게되는 것입니다.

 

행위 - HTTP Method

REST에서 행위란, 특정 자원(Resource)에 대해 어떤 조작(행위)를 할 것인지를 나타낸다고 생각하시면 됩니다. HTTP의 Method를 통해서 자원에 대한 행위를 나타냅니다. 아래 POST, GET, PUT, DELETE Method들은 대표적이고, 자주 사용하는 HTTP Method들입니다. 각 Method들이 어떤 행위들을 나타내는지는 아래를 참고해주세요.

  • 생성 - POST
  • 조회 - GET
  • 수정 - PUT
  • 삭제 - DELETE

표현(Representation of Resource)

어떤 사용자가 특정 자원의 상태에 대한 행위(조작)를 요청하면 서버는 이에 대한 처리와 함께 응답을 보내게 됩니다. 이때 요청한 특정 자원에 대한 조작이 일어난 결과를 서버가 사용자에게 다시 보내주게 되는데, 이를 표현이라고 합니다. 


RESTful API란?

REST에 대해서 조금은 감이 오시나요? 그렇다면 RESTful API란 도대체 무엇일까요?
RESTful API란 앞에서 설명한 REST 아키텍처를 기반으로 설계된 API를 의미합니다. 따라서 RESTful하게 API를 설계한 예시를 보면서 REST가 무엇이고, RESTful API가 무엇인지 이해해보시면 좋을 것 같습니다.

 

RESTful API 설계 예시

Method 예시 설명
GET /members 회원 목록을 표시
GET /members/1 1번 회원의 정보를 표시
POST /members 회원 정보를 생성
PUT /members/3 3번 회원의 정보를 수정
DELETE /members/9 9번 회원의 정보를 삭제

 

 

❗ 질문이나 오탈자, 잘못 기재된 내용이 있다면, 지체말고 댓글 달아주시면 감사하겠습니다. 단, 악의적인 댓글이나 욕설, 비방은 확인 즉시 삭제조치 하겠습니다.

 

'dev > web 기초' 카테고리의 다른 글

개발 버전 작성 규칙  (0) 2020.03.18
인터넷은 어떻게 동작할까?  (0) 2020.03.04