{"id":268,"date":"2009-03-15T19:07:17","date_gmt":"2009-03-15T17:07:17","guid":{"rendered":"http:\/\/www.gatellier.be\/blog\/?p=268"},"modified":"2009-04-07T16:19:50","modified_gmt":"2009-04-07T14:19:50","slug":"performances-web-impact-du-ssl","status":"publish","type":"post","link":"https:\/\/gatellier.be\/blog\/performances-web-impact-du-ssl\/","title":{"rendered":"Performances Web: Impact du SSL"},"content":{"rendered":"<p>Depuis quelques temps, avec l&#8217;apparition de l&#8217;<a href=\"\/\/developer.yahoo.com\/yslow\/\" hreflang=\"en\" title=\"t\u00e9l\u00e9charger l'extension YSLOW\">extension Firebug YSLOW<\/a>, je m&#8217;int\u00e9resse de pr\u00e8s aux <strong>performances des sites web<\/strong>.<\/p>\n<p>J&#8217;ai profit\u00e9 des conseils avis\u00e9s de <a href=\"\/\/stevesouders.com\/\" hreflang=\"en\" title=\"High Performance Web Sites blog\">Steve Souders<\/a> et d&#8217;<a href=\"\/\/performance.survol.fr\/\" title=\"Performance web: Quelques mots pour des sites web rapides\">&Eacute;ric Daspet<\/a> dans quelques projets r\u00e9alis\u00e9s chez <a href=\"\/\/www.emakina.com\/\" title=\"Mon employeur\">Emakina<\/a>.<\/p>\n<p>Un d&#8217;entre eux, le site <a href=\"\/\/smart.brusselsairlines.com\/\">smart.brusselsairlines.com<\/a>, permettait aux participants de recevoir une r\u00e9duction augmentant avec le nombre de participants (revenez-y de temps pour les prochaines promotions).<\/p>\n<p>La mesure des visites du sites est g\u00e9r\u00e9e par une soci\u00e9t\u00e9 externe <a href=\"\/\/estat.com\/\">EStat<\/a>. Et, bien que je leur ai demand\u00e9 de la documentation sur l&#8217;impl\u00e9mentation de leur script de tracking, on emploie toujours le vieux bout de code qui date de la premi\u00e8re version du site.<\/p>\n<p>Hors, le <strong>script de tracking est appel\u00e9 via <abbr title=\"Secure HyperText Transfer Protocol\">HTTPS<\/abbr><\/strong>. Vous voyez o\u00f9 je veux en venir.<\/p>\n<h3>Mesure des connections <em>avec HTTPS<\/em>.<\/h3>\n<div style=\"position:relative;height:33px;overflow:hidden;\">\n\t<img decoding=\"async\" src=\"\/\/static.gatellier.be\/i\/090315\/waterfall-with-https.png\" style=\"border:none;position:absolute;top:-96px;clip:rect(96px,500px,129px,0)\" alt=\"Waterfall des connections du site smart.brusselsairlines.com - Estat avec HTTPS\" usemap=\"#waterfall-with-https\" \/>\n<\/div>\n<map name=\"waterfall-with-https\" id=\"waterfall-with-https\">\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"315,98,326,112\" alt=\"DNS Lookup: 178 ms\" title=\"DNS Lookup: 178 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"326,98,337,112\" alt=\"Initial Connection: 171 ms\" title=\"Initial Connection: 171 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"337,98,368,112\" alt=\"SSL Negotiation: 505 ms\" title=\"SSL Negotiation: 505 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"368,98,379,112\" alt=\"Time to First Byte: 164 ms\" title=\"Time to First Byte: 164 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"379,98,380,112\" alt=\"Content Download: 2 ms\" title=\"Content Download: 2 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"379,114,388,128\" alt=\"Initial Connection: 148 ms\" title=\"Initial Connection: 148 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"388,114,398,128\" alt=\"SSL Negotiation: 152 ms\" title=\"SSL Negotiation: 152 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"398,114,408,128\" alt=\"Time to First Byte: 162 ms\" title=\"Time to First Byte: 162 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_5a4b382b00acbfaae96a6b991d7ef53b\/1\/details\/#request5\" coords=\"408,114,409,127\" alt=\"Content Download: 1 ms\" title=\"Content Download: 1 ms\" \/>\n<\/map>\n<h4>R&eacute;sultats de la requ\u00eate #5&nbsp;:<\/h4>\n<table style=\"font-size:1.1em;\" summary=\"Resultats de la requ\u00eate avec https\" width=\"100%\">\n<tr>\n<th>URL:<\/th>\n<td><a href=\"https:\/\/prof.estat.com\/js\/m.js\">https:\/\/prof.estat.com\/js\/m.js<\/a><\/td>\n<\/tr>\n<tr>\n<th>Host:<\/th>\n<td>prof.estat.com<\/td>\n<\/tr>\n<tr>\n<th>IP:<\/th>\n<td>194.126.157.11<\/td>\n<\/tr>\n<tr>\n<th>Location:<\/th>\n<td>Valbonne, France*<\/td>\n<\/tr>\n<tr>\n<th>Error\/Status Code:<\/th>\n<td>200<\/td>\n<\/tr>\n<tr>\n<th>Start Offset:<\/th>\n<td>1.04 s<\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(0,123,132);\">DNS Lookup:<\/th>\n<td>178 ms<\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(255,123,0);\">Initial Connection:<\/th>\n<td>171 ms<\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(207,37,223);\"><strong>SSL Negotiation:<\/strong><\/th>\n<td><strong>505 ms<\/strong><\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(0,255,0);\">Time to First Byte:<\/th>\n<td>164 ms<\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(0,123,255);\">Content Download:<\/th>\n<td>2 ms<\/td>\n<\/tr>\n<tr>\n<th>Bytes In (downloaded):<\/th>\n<td>2.0 KB<\/td>\n<\/tr>\n<tr>\n<th>Bytes Out (uploaded):<\/th>\n<td>0.6 KB<\/td>\n<\/tr>\n<\/table>\n<h4>Analyse&nbsp;:<\/h4>\n<p>Sur un total de 1023 ms, 505 ms &#8211; <strong>soit presque 50% du temps de la requ\u00eate<\/strong> &#8211; sont consacr\u00e9es \u00e0 la n\u00e9gociation <abbr title=\"Secure Socket Layer\">SSL<\/abbr> pour des donn\u00e9es ne n\u00e9c\u00e9ssitant pas l&#8217;emploi du SSL&#8230;<\/p>\n<p>N&#8217;ayant pas eu la documentation du fournisseur de service EStat, je me suis permis de tester la <a href=\"\/blog\/ie-https-supprimer-alertes-de-securite-en-mode-https\/\" title=\"sur ce blog: supprimer les alertes de s\u00e9curit\u00e9 en mode https\">technique pour supprimer le protocole https lors de l&#8217;appel \u00e0 la ressource<\/a>.<\/p>\n<p>J&#8217;ai donc refait le test en faisant un requ\u00eate vers le m\u00eame fichier <abbr title=\"JavaScript\">JS<\/abbr>, mais sans passer par <abbr>HTTPS<\/abbr>.<\/p>\n<h3>Mesure des connections <em>sans HTTPS<\/em>.<\/h3>\n<div style=\"position:relative;height:33px;overflow:hidden;\">\n\t<img decoding=\"async\" src=\"\/\/static.gatellier.be\/i\/090315\/waterfall-without-https.png\" style=\"border:0;position:absolute;top:-97px;clip:rect(96px,500px,130px,0)\" alt=\"Waterfall des connections du site smart.brusselsairlines.com - Estat sans HTTPS\" usemap=\"#waterfall-without-https\" \/>\n<\/div>\n<map name=\"waterfall-without-https\" id=\"waterfall-without-https\">\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_31c5ea087fb3a3551ac5b198b9f14de2\/1\/details\/#request5\" coords=\"330,98,334,112\" alt=\"DNS Lookup: 56 ms\" title=\"DNS Lookup: 56 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_31c5ea087fb3a3551ac5b198b9f14de2\/1\/details\/#request5\" coords=\"334,98,345,112\" alt=\"Initial Connection: 155 ms\" title=\"Initial Connection: 155 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_31c5ea087fb3a3551ac5b198b9f14de2\/1\/details\/#request5\" coords=\"345,98,356,112\" alt=\"Time to First Byte: 163 ms\" title=\"Time to First Byte: 163 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_31c5ea087fb3a3551ac5b198b9f14de2\/1\/details\/#request5\" coords=\"356,98,357,112\" alt=\"Content Download: 3 ms\" title=\"Content Download: 3 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_31c5ea087fb3a3551ac5b198b9f14de2\/1\/details\/#request5\" coords=\"356,114,366,128\" alt=\"Initial Connection: 147 ms\" title=\"Initial Connection: 147 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_31c5ea087fb3a3551ac5b198b9f14de2\/1\/details\/#request5\" coords=\"366,114,377,128\" alt=\"Time to First Byte: 162 ms\" title=\"Time to First Byte: 162 ms\" \/>\n<area href=\"\/\/performance.webpagetest.org:8080\/result\/090305_31c5ea087fb3a3551ac5b198b9f14de2\/1\/details\/#request5\" coords=\"377,114,378,128\" alt=\"Content Download: 0 ms\" title=\"Content Download: 0 ms\" \/>\n<\/map>\n<h4>R&eacute;sultats de la requ\u00eate #5&nbsp;:<\/h4>\n<table style=\"font-size:1.1em;\" summary=\"Resultats de la requ\u00eate avec https\" width=\"100%\">\n<tr>\n<th>URL:<\/th>\n<td><a href=\"\/\/prof.estat.com\/js\/m.js\">\/\/prof.estat.com\/js\/m.js<\/a><\/td>\n<\/tr>\n<tr>\n<th>Host:<\/th>\n<td>prof.estat.com<\/td>\n<\/tr>\n<tr>\n<th>IP:<\/th>\n<td>194.126.157.11<\/td>\n<\/tr>\n<tr>\n<th>Location:<\/th>\n<td>Valbonne, France*<\/td>\n<\/tr>\n<tr>\n<th>Error\/Status Code:<\/th>\n<td>200<\/td>\n<\/tr>\n<tr>\n<th>Start Offset:<\/th>\n<td>1.19 s<\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(0,123,132);\">DNS Lookup:<\/th>\n<td>56 ms<\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(255,123,0);\">Initial Connection:<\/th>\n<td>155 ms<\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(0,255,0);\">Time to First Byte:<\/th>\n<td>163 ms<\/td>\n<\/tr>\n<tr>\n<th style=\"background-color:rgb(0,123,255);\">Content Download:<\/th>\n<td>3 ms<\/td>\n<\/tr>\n<tr>\n<th>Bytes In (downloaded):<\/th>\n<td>1.1 KB<\/td>\n<\/tr>\n<tr>\n<th>Bytes Out (uploaded):<\/th>\n<td>0.3 KB<\/td>\n<\/tr>\n<\/table>\n<h4>Verdict&nbsp;:<\/h4>\n<p>Le r\u00e9sultat est flagrant&nbsp;: 378 ms contre 1023, il n&#8217;y a pas photo.<\/p>\n<p>Quand vous devez reprendre un vieux site et l&#8217;optimiser pour, entre autre, des raisons de performance, <strong>n&#8217;oubliez pas de tenir compte des ressources externes<\/strong> en https&nbsp;!<\/p>\n<p>Et en plus si le fournisseur de service ne vous fourni pas de documentation, et n&#8217;active pas le <a href=\"\/\/en.wikipedia.org\/wiki\/Keep-alive\" hreflang=\"en\" title=\"d\u00e9finition de Keep-Alive sur Wikipedia\">Keep-Alive<\/a> sur ses serveurs, vous pouvez vivement envisager de changer de prestataire&nbsp;! &Agrave; bon entendeur&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le t\u00e9l\u00e9chargement d&#8217;un fichier de tracking appel\u00e9 en https prend deux fois plus de temps qu&#8217;en http. V\u00e9rifiez vos ressources externes, pour des sites web performants<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71,119],"tags":[122,114,120,121,123],"class_list":["post-268","post","type-post","status-publish","format-standard","hentry","category-bonnes-pratiques","category-performances","tag-estat","tag-https","tag-performance","tag-ssl","tag-tracking"],"_links":{"self":[{"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/posts\/268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/comments?post=268"}],"version-history":[{"count":0,"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/posts\/268\/revisions"}],"wp:attachment":[{"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/media?parent=268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/categories?post=268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gatellier.be\/blog\/wp-json\/wp\/v2\/tags?post=268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}