Web Servers, from low-level to high

Tags
HTTP sockets network bytestring

This course explores what a web server is, starting from how we use sockets and the network library, and moving upward through increasingly higher-level libraries for building web applications. On the way, you will learn:

  • What is a socket
  • How to read the HTTP specification
  • The difference between a strict ByteString, a lazy ByteString, and a byte string Builder
  • What “chunked transfer coding” means in HTTP, and what that has to do with lazy I/O
  • How to use attoparsec to parse an HTTP request
  • How to use the pipes library to parse streaming input