About REST, RESTAPI, RESTful

REST

Representational State Transfer의 약자

HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식

즉, REST는 어떤 자원에 대해 CRUD(Create, Read, Update, Delete) 연산을 수행하기 위해 URI(Resource)로 요청을 보내는것으로 Get, Post 등의 방식(Method)를 사용하여 요청을 보내며, 요청을 위한 자원은 특정한 형태(REST)로 표현된다. 그리고 이러한 REST 기반의 API를 웹으로 구현한 것이 RESTful API이다.
예를들어 게시글을 작성하기 위해
http://localhost:8080/bbs/insertBoardInfo 라는 URI에
POST 방식(Metho d)를 사용하여
JSON 이라는 자원의 형태(Representaion of Resource) 의 데이터를 전달할 수 있다.


RESTful API의 구성요소

  • Resource
    서버는 Unique한 ID를 가지는 Resource를 가지고 있으며, 클라이언트는 이러한 Resource에 요청을 보낸다. 이러한 Resource는 URI에 해당.

  • Method
    서버에 요청을 보내기 위한 방식으로 GET, POST, PUT, PATCH, DELETE가 있다. CRUD 연산 중에서 처리를 위한 연산에 맞는 Method를 사용하여 서버에 요청을 보내야 한다.

  • Representaion of Resource
    클라이언트와 서버가 데이터를 주고받는 형태로 json, xml, text, rss 등이 있다. 최근에는 Key, Value를 활용하는 json을 주로 사용한다.


URL vs URI

URL은 Uniform Resource Locator로 인터넷 상 자원의 위치를 의미한다. 자원의 위치라는 것은 결국 어떤 파일의 위치를 의미한다.
반면 URI는 Uniform Resource Identifier로 인터넷 상의 자원을 식별하기 위한 문자열의 구성으로, URI는 URL을 포함하게 된다.


참고자료

원본