REST 아키텍처의 제약조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻한다
REST API의 규칙이 제대로 구현되어 있는 것을 REST FUL이라 한다.
어떻게하면 REST FUL해 질 수 있을까 ?
1.클라이언트와 서버가 서로 독립적으로 분리 되어야한다
2.요청에 대해서 클라이언트의 상태를 서버에 저장해서는 안된다
3.클라이언트가 서버의 응답을 캐시로 임시저장 할 수 있어야한다
클라이언트가 캐시를 통해서 응답을 재사용할 수 있어야한다.
4.서버와 클라이언트 사이에 방화벽, 게이트웨이, proxy등
다양한 계층 형태로 구성이 가능해야하고 확장시킬 수 있어야한다
5.인터페이스의 일관성을 지키고 아키텍처를 단순화시켜 작은 단위로 분리하여
클라이언트 서버가 독립적으로 개선 될 수 있어야한다
6.자바애플릿 자바스크립트 등 특정한 기능을 서버로부터 클라이언트가 전달받아 코드를 실행 할 수 있어야한다
다음의 인터페이스 일관성이 잘 지켜졌는지에 따라 REST를 잘 사용했는지 알 수 있다.
1.자원의 식별 : URL속에 자원을 식별할 수 있는 정보를 담고있어야 한다.
2.메시지를 통한 리소스조작 : HTML, XML, JSON, TEXT을 가장 많이 사용한다.
3.자기 서술적 메시지: 요청하는 데이터가 어떻게 처리되어져야 하는지 충분한 데이터를 포함 할 수 있어야 한다.
GET, POST, PUT, DELETE등의 사용