{"id":2701,"date":"2016-05-27T14:40:38","date_gmt":"2016-05-27T14:40:38","guid":{"rendered":"https:\/\/www.thesslstore.com\/blog\/?p=2701"},"modified":"2016-08-04T08:29:11","modified_gmt":"2016-08-04T08:29:11","slug":"google-chrome-drops-support-for-npn-protocol","status":"publish","type":"post","link":"https:\/\/www.thesslstore.com\/blog\/google-chrome-drops-support-for-npn-protocol\/","title":{"rendered":"Google Chrome Drops support for NPN Protocol, used for HTTP\/2"},"content":{"rendered":"<h2>Google\u2019s popular Chrome browser will no longer support a technical protocol used for initiating HTTP\/2 connections.<\/h2>\n<p>By removing this protocol, named \u201cNPN\u201d (Next Protocol Negotiation), some servers will no longer be able to support HTTP\/2, which is a large upgrade to the technology that browsers use to communicate with websites.<\/p>\n<p>This change took place on <a href=\"http:\/\/googlechromereleases.blogspot.com\/2016\/05\/stable-channel-update_25.html\" rel=\"nofollow\">May 25th, 2016<\/a>, with the release of Chrome 51 to the Stable Channel.<\/p>\n<h2>The Importance of Negotiation<\/h2>\n<p>When a client and server first connect they \u201cnegotiate\u201d in order to exchange necessary information about each other and share their technical capabilities. When attempting to make an HTTP\/2 connection, there were two options available for negotiation: NPN and APLN (Application-Layer Protocol Negotiation).<\/p>\n<p>APLN is the successor to NPN. The specific differences between the two protocols are not important unless you are a network engineer (if you are interested in learning more about how they work and what they do, Key CDN has a great article). The important thing to know is that APLN, being the newer protocol, is not as widely supported by web server software as NPN is.<\/p>\n<p>Therefore, by removing support for NPN, Google Chrome is restricting HTTP\/2 negotiation to servers that support ALPN. We love HTTP\/2 because it provides huge performance benefits that can more than double the speed of your site (when compared to HTTP\/1.1) and requires SSL\/TLS to be used. So losing HTTP\/2 capabilities is not good!<\/p>\n<p>Notably, many <a href=\"https:\/\/ma.ttias.be\/day-google-chrome-disables-http2-nearly-everyone-may-31st-2016\/\" rel=\"nofollow\">Linux distributions<\/a>, including recent\/current versions of CentOS, Debian, and Ubuntu, do not have ALPN support. This is because they are using an older version of OpenSSL, the library that provides the capability.<\/p>\n<p>In most cases, a manual upgrade of OpenSSL will allow you to gain ALPN support and start using HTTP\/2. However, some server admins may not have the ability, time, or access, to do so. Until they do, web servers that don&#8217;t support ALPN are stuck with HTTP\/1.1.<\/p>\n<h2>A Controversial Change<\/h2>\n<p>Some have said this decision is extremely premature and will slow the transition from HTTP\/1.1 to HTTP\/2, while providing little benefit.<\/p>\n<p>In defense of the decision, Ilya Grigorik, a web performance engineer at Google, said that \u201cthe number of NPN negotiations we see today is nearly negligible.\u201d Specifically, Google\u2019s <a href=\"https:\/\/groups.google.com\/a\/chromium.org\/d\/msg\/blink-dev\/Qroz7eyCzRs\/BL9SOdMwDQAJ\" rel=\"nofollow\">metrics show<\/a> that less than 1% of handshakes use NPN to negotiate.<\/p>\n<p>In addition to the removal of NPN, Google Chrome 51 will be removing SPDY, Google\u2019s experimental protocol. While HTTP\/2 was still being finalized, Google created SPDY as an intermediate upgrade over HTTP\/1.1. Now that HTTP\/2 is finalized and has been implemented in many browsers and servers, Google thinks it is time to say goodbye to SPDY.<\/p>\n<p>The deprecation of NPN, combined with the removal of SPDY will certainly lead to a bit of a setback in the adoption of modern web protocols. However, given the size and scale of HTTP\/2 migration, this will probably be nothing more than a small blip in a long transition.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Google\u2019s popular Chrome browser will no longer support a technical protocol used for initiating HTTP\/2 connections. By removing this protocol, named \u201cNPN\u201d (Next Protocol Negotiation), some servers will no longer&#8230;<\/p>\n","protected":false},"author":2,"featured_media":2844,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":"","tve_updated_post":"","tve_custom_css":"","tve_user_custom_css":"","tve_globals":{},"tcb2_ready":0,"tcb_editor_enabled":0,"tve_landing_page":"","_tve_header":"","_tve_footer":""},"categories":[17],"tags":[132,131,133],"class_list":["post-2701","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-industry-lowdown","tag-chrome","tag-google","tag-npn-protocol","post-with-tags"],"views":8502,"jetpack_featured_media_url":"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/05\/iStock_16124965_SMALL.jpg","_links":{"self":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/2701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/comments?post=2701"}],"version-history":[{"count":0,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/2701\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media\/2844"}],"wp:attachment":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media?parent=2701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/categories?post=2701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/tags?post=2701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}