몇번 사용한적은 있지만 아주 대략적으로만 알고 있어서 구글링 해보았다.
우선 영어설명을 들여다 보자.
A RESTful API is an architectural style for an application program interface (API) that uses HTTP requests to access and use data. That data can be used to GET, PUT, POST and DELETE data types, which refers to the reading, updating, creating and deleting of operations concerning resources.
A RESTful API -- also referred to as a RESTful web service or REST API -- is based on representational state transfer (REST), which is an architectural style and approach to communications often used in web services development.
뭔말이여.... 더 복잡하다.
리소스를 조작하기 위한 통신 규약(?) 설계도(?) 라고 하면 될라나.
딱 알기쉽게 설명하기 힘들다.
앗! 정리하자면,
특정 위치에 있는 자원을 제어하기 위해 ,
상태
로추상화
하고 그 추상화된 표현을 주고받는 모든것을 REST라고 할 수 있으려나?그리고 rest api는 uri + http method를 이용해서 추상화된 상태를 서버와 클라이언트가 주고받는 것이다.
잘 설계된 rest api는 아래와 같은 특징을 갖는다.
그리고 REST의 설계 규칙을 잘 지켜서 설계된 API를 RESTful한 API라고한다.
그러나 REST는 형식이기 때문에 얼마든지 바뀌어도 상관이 없다. 그러나 CRUD방식은 이미 전세계 개발자들이 널리 사용하는 약속이기에 지키는게 좋다. (안지키면 욕 바가지로 얻어먹을지도...ㅋㅋㅋㅋ)
REST 이미지 제 블로그에 출처남기고 사용해도될까요???