Discovering and exploring RESTful services
The topic of discovering RESTful services has a long and complicated history. The HTTP specification states that a resource should be self-descriptive and that it should be identified uniquely by a URI. Dependent resources should be linked by the dependency using their own unique URIs. Discovering a RESTful service means navigating from one service to another, following the links it provides.
After the invasion of classical SOAP web services, the community got used to having a service described in a separate XML-based resource, named Web Services Description Language (WSDL). It describes the interface of the service, as well as other metadata such as security policy and endpoint location URI. Classical SOAP web services could make use of UDDI (short for Universal Description, Discovery, and Integration) repositories, allowing consumers to look for different services and their WSDL files.
There are also other specifications, such as WS Inspection Language...