Web services allow applications to communicate over the World Wide Web by exposing functions to other devices or applications. There are two main types of web services: REST services which rely on HTTP verbs like GET and POST to manipulate resources identified by URIs, and SOAP services which use XML and HTTP to define interfaces and exchange structured information. SOAP services require a WSDL file to specify how the service can be called and what it expects and returns, while REST services use the same HTTP verbs as the Web and have a simpler structure.