A "rich client" is a compromise between the thin client and the thick client. The purpose of the rich client is to provide a graphic interface, written using an XML based syntax, which provides similar functionality to a thick client (drag-and-drop, tabs, multiple windows, drop down menus).
Rich clients can also perform essential processing on the server side. Data is then sent using a standard exchange format, using XML syntax (SOAP, XML-RPC), which is then interpreted by the rich client.
The principle standards which define a rich application are as follows: