Uniform interface,client-server architecture,stateless operations,cachable resources,layered system,code on demand.