dotnet / dotnet/aspnetcore

Cache-Control Immutable HTTP Header

Open
#2,712 7 comments 10 reactions 0 assignees View on GitHub
affected-very-few area-networking enhancement feature-http-abstractions severity-minor
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 10h
Merged PRs (30d)
281

Description

_From @Eilon on Monday, January 30, 2017 10:05:13 AM_

_From @RehanSaeed on January 27, 2017 9:3_

There is a new `immutable` extension to the `Cache-Control` HTTP header which has been adopted into the IETF on the Standards Track. It's currently implemented in Firefox 49. The documentation states:

> Indicates that the response body will not change over time. The resource, if unexpired, is unchanged on the server and therefore the client should not send a conditional revalidation for it (e.g. If-None-Match or If-Modified-Since) to check for updates. Clients that aren't aware of this extension must ignore them as per the HTTP specification. In Firefox, immutable is only honored on https:// transactions.

Read More here:

- [IETF Draft Spec](https://tools.ietf.org/html/draft-mcmanus-immutable-00)
- [Using Immutable Caching To Speed Up The Web](https://hacks.mozilla.org/2017/01/using-immutable-caching-to-speed-up-the-web/)
- [Cache-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control)
- [Cache-Control: immutable](https://bitsup.blogspot.co.uk/2016/05/cache-control-immutable.html)
- [This browser tweak saved 60% of requests to Facebook](https://code.facebook.com/posts/557147474482256)

Facebook and the BBC have implemented this extension with significant performance wins. Since this is a draft spec, ASP.NET Core should probably not implement it just yet but raising this issue to put it on the radar. If another browser should implement this feature, perhaps it should be considered even as a draft.

_Copied from original issue: aspnet/Mvc#5723_

_Copied from original issue: aspnet/HttpAbstractions#763_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.