This repository was archived by the owner on Nov 22, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 38
This repository was archived by the owner on Nov 22, 2018. It is now read-only.
ResponseCaching Checklist #10
Copy link
Copy link
Closed
Description
Infrastructure work
- Reserve package name Infrastructure and preliminary layouts #12
- Builds, CI, packages.csv, etc. Infrastructure and preliminary layouts #12
- Update to ASP.NET Core 1.0.0 Infrastructure and preliminary layouts #12
Middleware
- Default cache behaviours
- based on HTTP Headers (RFC 7234) Implement Http cache #15
- Request/Response are cacheable, cacheability based on state: headers, expiry, ... Implement Http cache #15
- Heuristics based freshness (RFC) - Implement Http cache #15
- 📂 strip/send warnings (RFC) Cache related warning headers #41
- ❌ Corrected age value (RFC) probably not an issue since our closeness to the endpoint means the apparent age is accurate enough
- 📂 POST responses invalidates cache (RFC) - Cache invalidation #38
- 📂 no-cache fields (RFC) - No-cache fields #40
- ❌ no-transform (RFC) No work needs to be done here since we don't transform the payload.
- Options
- max size to buffer Add an option to specify the max response size cached #25
- path case sensitivity Add options to configure case sensitivity of request paths #26
- Conditional requests (respond to validation requests)
-
IfNotModifiedSince
,IfNoneMatch
Conditional requests #22
-
- Revalidation with endpoint
- 📂eviction, freshness update (RFC, ASPNET, Orchard) - Revalidation #39
- Cache invalidation
- 📂 cache dependency, invalidation by endpoint (RFC, Orchard) - Cache invalidation #38
- 📂Partial responses (RFC, ASPNET) - Partial responses and range requests #36
- Consolidating partial responses
- Serve portions of full cached responses per range header
- 📂Gated incoming requests (Orchard) Gated incoming requests #37
Storage
- IDistributedCache, IMemroyCache
- Storage provider interface ResponseCache updates to support varyby rules #14
- Serialization, binary serialization ResponseCache updates to support varyby rules #14
- 📂 FileSystem based storage (ASPNET) - Option for disk-backed cache #8
- Key generation
- Path Method, VaryBy Infrastructure and preliminary layouts #12
- Custom key producer via delegate (ASPNET) Add configurable options for ResponseCaching #16
- Vary By
- Headers ResponseCache updates to support varyby rules #14
- Location (Orchard) - user extensible
- Auth (Orchard) - user extensible
- Hash of POST data (ASPNET) - user extensible
- QueryString (ASPNET, Orchard) Add support for vary by query string params #21
- Encoding (ASPNET) - user extensible
- Delegate for more custom vary by (ASPNET) Add configurable options for ResponseCaching #16
- Diagnostics
- Cache hit ratio, maybe this should be in Caching?
Endpoint
- Communication with endpoint
- cache-control header Implement Http cache #15
- Cache invalidation - Cache invalidation #38
Performance
- 📂 Chunking of cached responses in storage to prevent allocations on LOH Cache chunked rather than whole byte[] #7