| Environment | Method | Notes |
|---|---|---|
| Apache | FileETag + Header | Use MTime and Size for consistency |
| Nginx | etag on or dynamic module | Gzip can interfere with ETags |
| Express (Node.js) | app.set('etag', 'strong') | Built-in support in Express |
| Spring Boot | ShallowEtagHeaderFilter | Adds ETags for REST responses |
| Cloudflare | Preserve origin ETags | Requires correct Cache-Control |