Web services allow programs to communicate over the web through APIs and make requests to access resources and services. There are two main types - SOAP-based and RESTful web services. RESTful services use HTTP methods like GET and POST to operate on resources identified through URIs. They transfer representations of resources in formats like JSON and XML. A key REST principle is that resources are accessed through a uniform interface, with clients requesting state transfers of representations through stateless operations.