Web services allow applications to communicate over the web through standard protocols like HTTP and XML. There are two main types of web services: REST services which rely on HTTP verbs to manipulate resources identified by URIs, and SOAP services which use XML and HTTP to define structured messages to access services described in a WSDL file. SOAP services require more overhead for message formatting and processing compared to the lighter-weight REST approach.