HTTP is a part of the daily life of every developer – and of everyone who browses the Internet! But what is it, and how does it work? What exactly is being sent back and forth from client to server, and what do tools like WebClient and HttpWebRequest really do? In this talk we will take an in-depth look at HTTP, from a basic understanding of sockets, to the structure of the data packets that comprise HTTP requests and responses, and to practical examples such as what is really happening when you load up a page – or submit a form – in your browser. We will also learn how to use Fiddler, a popular HTTP debugging tool, to actively monitor HTTP communication on your computer. By the end of this talk, developers should have a better understanding of how to construct basic HTTP requests from scratch, how to debug web exceptions, and how to use low-level tools to communicate with a web service without resorting to code-generation tools like WSDL.exe.