- HTTP is the protocol for communication between web browsers and servers. It uses requests and responses, with the request line specifying the method, URI, and HTTP version. Common methods are GET, HEAD, and POST. - A proxy server acts as an intermediary for requests, forwarding them to the destination server. The proxy must parse and handle different request types like GET, HEAD, and POST, as well as response headers. - For the project, students need to write an HTTP proxy server that can filter requests based on domain and handle the basic request methods based on the HTTP specifications. The proxy needs to be robust to different request types and formats.