Client-server architecture Different set of concerns Client cares about processing or rendering Server cares about storing and making information available efficiently Keeping concerns separate allow client and server to evolve independently Stateless Messages always contain all data needed to process the request Including authentication information if required That doesn't mean you can't use cook