The Web has proven to be an incredible tool for disseminating content. Over time, people have moved from just wanting to put static documents online to wanting to share ever more complex resources, such as database content or dynamically generated HTML pages. HTTP applications, like web browsers, have provided users with a unified means of accessing content over the Internet.
HTTP also has come to be a fundamental building block for application developers, who piggyback other protocols on top of HTTP (for example, using HTTP to tunnel or relay other protocol traffic through corporate firewalls, by wrapping that traffic in HTTP). HTTP is used as a protocol for all of the Web’s resources, and it’s also a protocol that other applications and application protocols make use of to get their jobs done.
This chapter takes a general look at some of the methods that developers have come up with for using HTTP to access different resources and examines how developers use HTTP as a framework for enabling other protocols and application communication.
In this chapter, we discuss:
Gateways, which interface HTTP with other protocols and applications
Application interfaces, which allow different types of web applications to communicate with one another
Tunnels, which let you send non-HTTP traffic over HTTP connections
Relays, which are a type of simplified HTTP proxy used to forward data one hop at a time