From d4447c0d76ec04593913e86bf9634920e8a5984b Mon Sep 17 00:00:00 2001 From: David Baumwald Date: Tue, 9 Nov 2021 23:04:59 +0000 Subject: [PATCH] Bootstrap/Load: Add `HTTP/3` as a valid HTTP protocol. As of November 2021, the `HTTP/3` protocol is still officially an Internet Draft, but is already supported by 74% of running web browsers and, according to W3Techs, 23% of the top 10 million websites. It has been supported by Google Chrome (including Chrome for Android, and Microsoft Edge, which is based on it) since April 2020 and by Mozilla Firefox since May 2021. Safari 14 (on macOS Big Sur and iOS 14) has also implemented the protocol but support is hidden behind a feature flag. Based on the wide support, this change adds `HTTP/3` as a valid HTTP protocol. Props malthert. Fixes #54404. git-svn-id: https://develop.svn.wordpress.org/trunk@52087 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/load-scripts.php | 2 +- src/wp-admin/load-styles.php | 2 +- src/wp-comments-post.php | 2 +- src/wp-includes/load.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/wp-admin/load-scripts.php b/src/wp-admin/load-scripts.php index a82088defe..f28721f7e4 100644 --- a/src/wp-admin/load-scripts.php +++ b/src/wp-admin/load-scripts.php @@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) { define( 'WPINC', 'wp-includes' ); $protocol = $_SERVER['SERVER_PROTOCOL']; -if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ), true ) ) { +if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3' ), true ) ) { $protocol = 'HTTP/1.0'; } diff --git a/src/wp-admin/load-styles.php b/src/wp-admin/load-styles.php index 84a7b729d5..fad60b7b54 100644 --- a/src/wp-admin/load-styles.php +++ b/src/wp-admin/load-styles.php @@ -23,7 +23,7 @@ require ABSPATH . WPINC . '/script-loader.php'; require ABSPATH . WPINC . '/version.php'; $protocol = $_SERVER['SERVER_PROTOCOL']; -if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ), true ) ) { +if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3' ), true ) ) { $protocol = 'HTTP/1.0'; } diff --git a/src/wp-comments-post.php b/src/wp-comments-post.php index 06cbd460f4..e9a758dcfd 100644 --- a/src/wp-comments-post.php +++ b/src/wp-comments-post.php @@ -7,7 +7,7 @@ if ( 'POST' !== $_SERVER['REQUEST_METHOD'] ) { $protocol = $_SERVER['SERVER_PROTOCOL']; - if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ), true ) ) { + if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3' ), true ) ) { $protocol = 'HTTP/1.0'; } diff --git a/src/wp-includes/load.php b/src/wp-includes/load.php index ffbc1d2290..d2e7f47c4f 100644 --- a/src/wp-includes/load.php +++ b/src/wp-includes/load.php @@ -14,7 +14,7 @@ */ function wp_get_server_protocol() { $protocol = isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : ''; - if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ), true ) ) { + if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3' ), true ) ) { $protocol = 'HTTP/1.0'; } return $protocol;