When a client sends an HTTP request directly to a web server, the server can easily identify the client’s IP address from the TCP connection. However, in modern web architectures, requests rarely travel directly from client to server. They typically pass through one or more intermediaries reverse proxies, load balancers, CDNs, or API gateways. Each of these intermediaries establishes a new connection to the next hop, and in the process, the original client’s IP address is lost.