HTTP Proxies

Definition

Proxies operate at the application layer between client and server, forwarding HTTP messages.

Types:

  • Transparent: Forwards requests unchanged
  • Non-transparent: Modifies requests before forwarding

Key Functions

1. Caching

Stores copies of resources to reduce redundant requests.

Public Cache:

  • Shared across multiple users (ISP, company network)
  • Example: 100 employees access same website → proxy fetches once, serves 100 times
  • Reduces bandwidth and latency

Private Cache:

  • Browser cache, single-user only
  • Stored locally on your device

2. Filtering

Inspects and controls traffic content.

Use cases:

  • Antivirus scanning of downloads
  • Parental controls blocking inappropriate content
  • Corporate policies (blocking social media)
  • Ad blocking

3. Load Balancing

Distributes requests across multiple servers.

How it works:

  • Client sees single proxy address
  • Proxy routes to different backend servers based on load/health
  • Prevents server overload and single points of failure

4. Logging

Records all traffic passing through.

Uses:

  • Usage analytics
  • Security auditing
  • Troubleshooting
  • Compliance monitoring