When used in the context of web development, an API is typically a defined set of Hypertext Transfer Protocol request messages, along with a definition of the structure of response messages, which is usually in an Extensible Markup Language or JavaScript Object Notation format. While "Web API" is virtually a synonym for web service, the recent trend been moving away from Simple Object Access Protocol based services towards more direct Representational State Transfer style communications. Web APIs allow the combination of multiple services into new applications known as mashups.