client-server model, peer-to-peer model, protocols, request and response as a way to organize modules and their interactions to support a clear set of responsibilities.
stateless versus keep-alive connections, latency and throughput issues, gethostbyname, gethostbyaddr, IPv4 versus IPv6, structsockaddr hierarchy of **struct**s, network-byte order.
ports, socket file descriptors, socket, connect, bind, accept, read, write, simple echo server, time server, concurrency issues, spawning threads to isolate and manage single conversations.
C++ layer over raw I/O file descriptors, introduction to sockbuf and sockstream C++ classes.
HTTP 1.0 and 1.1, header fields, GET, HEAD, POST, complete versus chunked payloads, response codes, web caching and consistency protocols.
IMAP, custom protocols, Dropbox and iCloud reliance on variations of HTTP.