웹 프로그래밍에서 RESTFUL 방식을 사용하는 이유
웹 프로그래밍의 클라이언트랑 서버간에 데이터를 주고 받는 방식인 레스트풀 API가 많이 사용된다고 들었습니다.
GET, POST 방식이 있는데 굳이 레스트풀 API을 사용하는 이유가 뭔가요?
그리고 REST와 RESTFUL과 REST API 이 세가지의 차이점이 뭔가요?
GET, POST와 REST가 반대되는 개념이 아닙니다.
REST는 자원을 정의하고 그 주소를 지정하는 방법입니다.
클라이언트/서버 구조입니다. 일관적인 인터페이스로 분리되어야 합니다.
계층화 : 클라이언트는 서버에 연결하기만 하면 됩니다. 프록시인지, 로드밸런서가 있는지, 그런 거 몰라도 됩니다!
무상태 : 클라이언트의 컨텍스트를 서버에서 유지하지 않습니다. (쿠키나 세션 등을 사용하지 않습니다.)
HTTP 위에서 동작합니다. HTTP의 기능인 캐싱 기능도 그대로 사용할 수 있습니다!
주소만 보고도 무슨 뜻인지 잘 수 있습니다! ( = 주소만 보고도 뭔지 알 수 있도록 만들어야 합니다...)
REST API는 REST를 따르는 API입니다.
REST 방법을 잘 따른 것을 RESTful하다고 합니다.
RESTful API에는 많은 장점이 있습니다. 일단 주소만 봐도 알 수 있기 때문에 사용하기 쉽습니다!
RESTful API를 사용한다는 것이 GET과 POST를 사용하지 않는 게 아닙니다.
HTTP 위에서 돌아가기 때문에 GET, POST, PUT, DELETE의 HTTP 메소드를 그대로 사용합니다.
질문자께서 약간 혼동 하신 듯 합니다.
RESTFul 은 웹의 장점을 활용한 아키텍쳐 입니다.
RESTFul 여러가지 내용들중 URI 를 통한 자원의 행위를 표현하는 것이 가장 큰 특징입니다.
그 행위를 표현하는 것들중에 말씀하신 HTTP Method(Post, Get, Put, Delete, Options, Trace...)가 있는 것 입니다.