A request carries a method, target, headers, and optionally a body, while the response returns a status, headers, and optional content. The protocol defines caching, conditional requests, content negotiation, and intermediary behavior. TLS commonly protects HTTP traffic in transit.