basically at the moment all my server does is: 1. read the client request 2. extract important bits of data from the request, for example: the command (usually GET), the resource name requested, and other bits, 3. lots of checking and if necessary return error responses to the client, for example: check the command is legal or send 501, check the ...