SJ HTTP/2 Server Push Optimization

Description

HTTP/2 is the new generation HTTP protocol that provide tremendous powers the web. HTTP/2 is future of web. The most powerful feature of HTTP/2 is server push. Most of popular hosting providers supports to Server Push. Server Push provides significant performance gains if used judiciously.

Check HTTP/2 Demo Here.

Server Push allows the server to “bundle” assets that the client didn’t ask for.It send resources to the browser before it even realizes it needs them. This avoids the usual HTTP request/response cycle.

This plugin enabled WordPress to send a Link:<...> rel="prefetch" header to every enqueued script and style page. Is doesn’t support who output their scripts directly into the page itself. This plugin doesn’t affect any visual part of site.

Read more about server push here

Note : It requires a web server that supports HTTP/2.

WordPress 4.6 and above

WordPress 4.6 introduced support for resource hints.
This plugin defers to WordPress 4.6 and theme/plugin developers to responsibly prefetch the right assets.

I’ve added a filter To restore the old behavior of resource hints on WordPress 4.6 and above. Use following filter in your functions.php file or in a custom plugin:

`add_filter('sjh_http2_resource_hints', '__return_true');```

Installation

  1. Upload the plugin files to the /wp-content/plugins/sj-http2-server-push directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress

FAQ

What if my web server doesn’t support HTTP/2 or “server push”?

Server push is triggered by the same mechanism as link prefetching, which almost all major modern browsers support over HTTP 1.x. You can take advantage of “preload” even if you don’t have HTTP/2’s features. People visiting your site may still get a better experience from it. Read here about preload

How do I know if this is working?

There are a couple ways:

  1. nghttp is an HTTP/2 client that ships with the nghttp2 suite. nghttp -v http://example.com will show all the HTTP/2 signalling packets, HTTP headers, content, and resources sent from the server in a single request. You can see PUSH PROMISE signals from the server and the pushed resources after the main page is sent.
  2. In Google Chrome, chrome://net-internals/#spdy will show a history of server connections from the browser. Clicking on a connection will show the discussion between the browser and the server. Within that text, you can see PUSH PROMISE packets and the pushed resources.

Contributors & Developers

“SJ HTTP/2 Server Push Optimization” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0

  • Initial release