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