Working on my own implementation in Haskell. Initially thought this was a HTTP-based protocol. Clarification would be helpful.