RESTful 웹 서비스는 웹의 기본 아키텍처 원칙에 따라 설계된 서비스이다. 여기서 "REST"는 "Representational State Transfer"의 약자로 웹 서비스 디자인에서 널리 사용되는 아키텍처 스타일을 나타낸다.
자원 지향적
RESTful 웹 서비스는 웹상의 모든 항목을 "자원"으로 간주한다. 각 자원은 고유한 URI를 통해 식별된다.
표준 HTTP 메서드 사용
RESTful 웹 서비스는 자원을 조작하기 위해 표준 HTTP 메서드를 사용한다.
무상태성
각 요청은 모든 필요한 정보를 포함해야 한다. 이렇게 하면 서버는 클라이언트의 상태를 유지할 필요가 없게 된다. 즉, 각 요청은 독립적으로 서버에 의해 처리된다.
플랫폼 독립적
RESTful 웹 서비스는 웹 브라우저, 모바일 앱, 등과 같은 다양한 클라이언트에서 사용될 수 있다.
자체 표현적
메시지는 자체 표현적이어야 한다. 이는 각 메시지가 자원의 상태를 충분히 설명하고 처리 방법을 포함해야 함을 의미한다.
상태 전이를 위한 연결
웹 서비스는 필요한 경우 다른 관련된 자원을 참조하는 링크를 제공할 수 있어야 한다.