Page MenuHomePhabricator

Enable HTTP/2 for Fundraising application
Open, Needs TriagePublic

Description

The fundraising application is currently still relying on HTTP/1.1 for its data transfer. We should configure our Apache instances to support HTTP/2 as it offers performance improvements when transfering data. HTTP/2 should be enabled on the test and production environments, additionally SpeedCurve should drop its performance warning about it in the "Improve" section under the "Best Practices" tab:

HTTP/2 offers many benefits over HTTP/1.1, including binary headers, multiplexing, and server push.

    https://test-spenden.wikimedia.de/?skin=2
    https://test-spenden.wikimedia.de/skins/laika/css/styles.css
    https://test-spenden.wikimedia.de/skins/laika/js/chunk-vendors.js
    https://test-spenden.wikimedia.de/skins/laika/js/styles.js
    https://test-spenden.wikimedia.de/skins/laika/js/donation_form.js
    https://test-spenden.wikimedia.de/skins/laika/images/logo-horizontal-wikimedia.svg
    https://test-spenden.wikimedia.de/skins/laika/images/logo-vertical-wikimedia.svg
    https://test-spenden.wikimedia.de/skins/laika/fonts/Open-Sans.woff2
    https://test-spenden.wikimedia.de/skins/laika/fonts/Open-Sans-bold.woff2
    https://test-spenden.wikimedia.de/skins/laika/images/favicon.ico

Reference: https://developers.google.com/web/tools/lighthouse/audits/http2

Event Timeline

This task, about enabling HTTP2 as a protocol (which requires some minor nginx config modifications) might have a followup-ticket "Enable HTTP2 Server Push for Fundraising Application", which would require some thought and engineering effort to determine which resources (Stylesheet, Logo, JavaScript) to push while still keeping the flexibility to do skin tests.