De-mystify the web: Build a dynamic HTTP server from scratch

A session at Polyglot 2012

Friday 25th May, 2012

1:00pm to 5:00pm (PST)

We will cover just enough networking and HTTP to build a simple working server. You will finish this tutorial with a 100 line HTTP server and completely understand it. We’ll be working in Python, but this content transcends language and is useful in nearly every language and OS. This will be a hands-on tutorial with three labs.

Modern web frameworks hide most of the messy details of web programming and present a powerful abstration for us to work with. Unfortunately, they often hide the simplicity of HTTP itself. If you’re new to web programming, or have only used frameworks, it is hard to see exactly what an HTTP header is, or how an HTTP verb is specified on the wire. In this tutorial, we’re going to start at the bottom, and work our way up to the HTTP fundamentals common to all web frameworks. As complex as web programming can be, we’ll see that HTTP is clear and simple.

We will look at basic TCP/IP, the socket abstraction, request/response protocols, HTTP verbs, and HTTP headers. Each of these is a topic worthy of in depth study itself… but we’re going to skim them all, taking just what we need to build a working HTTP server.

Comfortability with some programming language: variables, string manipulation, for loops and function calls.
You will need a laptop with Python 2.x installed. (2.7 recommended).
It will be convenient to have either GIT or SVN installed.

Register via the Eventbrite page: https://polyglotconf2012.eventbr...

About the speaker

This person is speaking at this event.
Brian Dorsey

Information, databases, distributed systems and glue code. Go, Python, SQL, NoSQL, Japanese, lunch! Developer Advocate for Google Cloud Platform. bio from Twitter

Sign in to add slides, notes or videos to this session

Polyglot 2012

Canada Canada, Vancouver

25th27th May 2012

Tell your friends!


Time 1:00pm5:00pm PST

Date Fri 25th May 2012

Short URL


Official session page


View the schedule



See something wrong?

Report an issue with this session