joomla-framework / application

Joomla Framework Application Package
GNU General Public License v2.0
22 stars 30 forks source link

remove pragma header #111

Closed brianteeman closed 1 year ago

brianteeman commented 1 year ago

Summary of Changes

Pragma is a HTTP/1.0 header. In HTTP/1.1, Pragma is deprecated and superseded by the Cache-Control header. Remove Pragma to save bandwidth and processing power and it doesn't do anything as it is used after the cache-control header (this was by design to support http/1.0 headers a decade ago)

Mozilla telemetry indicates that there is less than 0.24% still using 1.0 https://mzl.la/3tFMtkA

httparchive didnt even include 1.0 in its 2020 almanac https://almanac.httparchive.org/en/2020/http#fig-3 but in 2019 they reported less than 0.06%

Pull Request for Issue #

Summary of Changes

Testing Instructions

Documentation Changes Required

Llewellynvdm commented 1 year ago

Okay calculating the exact number of requests is difficult as it depends on various factors. However, we can use the estimate of 1 out of every 416 requests as a rough approximation based on Mozilla telemetry indicating that there is less than 0.24%.

Assuming an average of 1 billion HTTP requests per day, which is a conservative estimate, this would result in approximately 2.4 million HTTP/1.0 requests per day (1 billion divided by 416). Over a year, this would translate to roughly 876 million HTTP/1.0 requests per year.

Again, it's important to note that this is just an estimate and the actual number of HTTP/1.0 requests may be different. However, it gives a rough idea of the scale of the issue and underscores the need to carefully consider the impact of any changes to HTTP headers like 'Pragma' on the web ecosystem as a whole.

brianteeman commented 1 year ago

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Pragma

Llewellynvdm commented 1 year ago

After further discussions with those in the CMS maintenance team, it seems right to add a depreciation doc notice now and only remove it in version 3.0