<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>HttpWatch Blog</title>
	<atom:link href="http://blog.httpwatch.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.httpwatch.com</link>
	<description>News, articles and all things HttpWatch</description>
	<pubDate>Thu, 11 Feb 2010 09:41:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using Protocol Relative URLs to Switch between HTTP and HTTPS</title>
		<link>http://blog.httpwatch.com/2010/02/10/using-protocol-relative-urls-to-switch-between-http-and-https/</link>
		<comments>http://blog.httpwatch.com/2010/02/10/using-protocol-relative-urls-to-switch-between-http-and-https/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 13:55:01 +0000</pubDate>
		<dc:creator>Httpwatch Blog</dc:creator>
		
		<category><![CDATA[HTTPS]]></category>

		<category><![CDATA[HttpWatch]]></category>

		<category><![CDATA[Internet Explorer]]></category>

		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://blog.httpwatch.com/?p=848</guid>
		<description><![CDATA[Attempting to use HTTP resources on an secure web page is a guaranteed way to annoy IE users, because it generates a confusing security warning for anyone running with the default IE settings. Our previous post on fixing this message in IE 8 is responsible for more than 50% of the traffic and comments on [...]]]></description>
			<content:encoded><![CDATA[<p>Attempting to use HTTP resources on an secure web page is a guaranteed way to <a href="http://blog.httpwatch.com/2009/04/23/fixing-the-ie-8-warning-do-you-want-to-view-only-the-webpage-content-that-was-delivered-securely/#comments">annoy IE users</a>, because it generates a confusing security warning for anyone running with the default IE settings. Our <a title="Fixed the IE 8 mixed content warning" href="http://blog.httpwatch.com/2009/04/23/fixing-the-ie-8-warning-do-you-want-to-view-only-the-webpage-content-that-was-delivered-securely/">previous post </a>on fixing this message in IE 8 is responsible for more than 50% of the traffic and comments on this blog. Hopefully, Microsoft will take note and change this in a future version of IE.</p>
<p>In the meantime, it&#8217;s important to avoid this warning by ensuring that every image, CSS and Javscript file on a secure page is accessed using HTTPS. For content on the same domain it&#8217;s quite straightforward - you just need to use relative URLs. A relative URL contains the &#8216;offset&#8217; URL that needs to be applied to the page&#8217;s absolute URL in order to find a resource.</p>
<p>For example, here&#8217;s a screen shot from HttpWatch accessing our home page over HTTPS:</p>
<p><img class="size-full wp-image-850 alignnone" style="border: 0pt none;" title="HttpWatch Home Page Access with HTTPS" src="http://blog.httpwatch.com/wp-content/uploads/2010/02/https_httpwatch.png" alt="HttpWatch Home Page Access with HTTPS" width="555" height="526" /></p>
<p>Searching for one of the images in HttpWatch shows that it was specified with a relative URL and the switch to HTTPS happened automatically:</p>
<p><img class="size-full wp-image-852 alignnone" style="border: 0pt none;" title="Relative URL" src="http://blog.httpwatch.com/wp-content/uploads/2010/02/relative_url.png" alt="Relative URL" width="555" height="526" /></p>
<p>A problem arises though, if you attempt to access a resource from a different domain because you can&#8217;t use the simple path-relative URL to access the resource. This often happens when you attempt to use a third party service such as Google Analytics or a <a href="http://www.asp.net/ajaxLibrary/cdn.ashx">third party Ajax library CDN</a>.</p>
<p>Google Analytics solves the problem with its external javascript file by recommending the use of this code to dynamically switch protocols:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> gaJsHost <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;https:&quot;</span> <span style="color: #339933;">==</span> document.<span style="color: #660066;">location</span>.<span style="color: #660066;">protocol</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span>
    <span style="color: #3366CC;">&quot;https://ssl.&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;http://www.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span>unescape<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;%3Cscript src='&quot;</span> <span style="color: #339933;">+</span> gaJsHost <span style="color: #339933;">+</span>
    <span style="color: #3366CC;">&quot;google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Another solution is to hard code the external resource with an HTTPS based URL regardless of how the containing page is accessed. This avoids any security warnings in IE, but does mean that the HTTPS resource download will consume more CPU resources in cases where the HTTP download would have been sufficient.</p>
<p>The solution we prefer to use is to specify a <em>Protocol Relative URL</em>. It&#8217;s just like a regular URL except that you leave out the protocol prefix. For example, when Microsoft recently <a href="http://weblogs.asp.net/scottgu/archive/2009/11/29/microsoft-ajax-cdn-now-with-ssl-support.aspx">announced SSL support</a> for their Ajax CDN the recommended script tag for secure pages was:</p>
<p><span style="color: #0000ff;">&lt;<span style="color: #800000;">script</span> <span style="color: #ff0000;">src</span>=&#8221;https://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js&#8221; <span style="color: #ff0000;">type</span>=&#8221;text/javascript&#8221;&gt;&lt;/<span style="color: #800000;">script</span>&gt;</span></p>
<p>But if you change this to a protocol relative URL:</p>
<p><span style="color: #0000ff;">&lt;<span style="color: #800000;">script</span> <span style="color: #ff0000;">src</span>=&#8221;<strong><em>//ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js</em></strong>&#8221; <span style="color: #ff0000;">type</span>=&#8221;text/javascript&#8221;&gt;&lt;/<span style="color: #800000;">script</span>&gt;</span></p>
<p>You get the automatic use of HTTPS on secure pages and avoid the overhead of HTTPS on non-secure pages.</p>
<p>We put together a simple <a href="https://www.httpwatch.com/demos/ajax_cdn/">jQuery demo page</a> using this technique. In HttpWatch, you can see that the resource is automatically downloaded with HTTP for non-secure access:</p>
<p><img class="alignnone size-full wp-image-874" style="border: 0pt none;" title="HTTP Access with Protocol Relative URL" src="http://blog.httpwatch.com/wp-content/uploads/2010/02/demo_http.png" alt="" width="639" height="442" /></p>
<p>and HTTPS with secure access:</p>
<p><img class="alignnone size-full wp-image-875" style="border: 0pt none;" title="HTTPS Access with Protocol Relative URL" src="http://blog.httpwatch.com/wp-content/uploads/2010/02/demo_https.png" alt="" width="639" height="442" /></p>
<p>One downside of this approach is that there will be separate cached copies for both the HTTP and HTTPS based URLs. If a vistor to your site first uses a non-secure HTTP based URL and then switches to HTTPS they would have to download fresh copies of resources that had already been accessed over HTTP.</p>
<p>UPDATE: <a href="http://stevesouders.com/">Steve Souders</a> pointed out another downside to using protocol relative URLs; they cause a <a href="http://www.stevesouders.com/blog/2010/02/10/5a-missing-schema-double-download/">double download of CSS files</a> in IE 7 &amp; 8.</p>
 <img src="http://blog.httpwatch.com/wp-content/plugins/feed-statistics.php?view=1&post_id=848" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.httpwatch.com/2010/02/10/using-protocol-relative-urls-to-switch-between-http-and-https/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Firefox 3.6 and HttpWatch</title>
		<link>http://blog.httpwatch.com/2010/01/22/firefox-36-and-httpwatch/</link>
		<comments>http://blog.httpwatch.com/2010/01/22/firefox-36-and-httpwatch/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 10:49:48 +0000</pubDate>
		<dc:creator>Httpwatch Blog</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[HttpWatch]]></category>

		<guid isPermaLink="false">http://blog.httpwatch.com/?p=838</guid>
		<description><![CDATA[Firefox 3.6 was officially released yesterday by Mozilla; providing significant performance improvements and new features.
You&#8217;ll need to download and install HttpWatch version 6.2.30 or later, if you want to use it with Firefox 3.6.
 ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-842" style="border: 0pt none;" title="Firefox 3.6" src="http://blog.httpwatch.com/wp-content/uploads/2010/01/firefox361.png" alt="Firefox 3.6" width="370" height="124" /><a title="Get Firefox" href="http://www.getfirefox.com">Firefox 3.6</a> was officially released <a href="http://blog.mozilla.com/blog/2010/01/21/firefox-3-6-release/">yesterday by Mozilla</a>; providing significant performance improvements and <a title="Firefox 3.6 Features" href="http://www.mozilla.com/en-US/firefox/features/">new features</a>.</p>
<p>You&#8217;ll need to <a title="HttpWatch Download" href="http://www.httpwatch.com/download/">download</a> and install HttpWatch <a href="http://www.httpwatch.com/download/versionhistory/">version 6.2.30</a> or later, if you want to use it with Firefox 3.6.</p>
 <img src="http://blog.httpwatch.com/wp-content/plugins/feed-statistics.php?view=1&post_id=838" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.httpwatch.com/2010/01/22/firefox-36-and-httpwatch/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using a VPN Clobbers IE 8 Performance</title>
		<link>http://blog.httpwatch.com/2009/12/07/using-a-vpn-clobbers-ie-8-performance/</link>
		<comments>http://blog.httpwatch.com/2009/12/07/using-a-vpn-clobbers-ie-8-performance/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 13:46:45 +0000</pubDate>
		<dc:creator>Httpwatch Blog</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[HttpWatch]]></category>

		<category><![CDATA[Internet Explorer]]></category>

		<category><![CDATA[IE8]]></category>

		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://blog.httpwatch.com/?p=822</guid>
		<description><![CDATA[A significant change in IE 8 was the increase in the number of active connections per hostname from two to six. This allowed pages with many embedded resources (e.g. images, CSS or JavaScript) to be loaded much more quickly because more requests could be executed in parallel; reducing queuing and the amount of Blocked time [...]]]></description>
			<content:encoded><![CDATA[<p>A significant change in IE 8 was the increase in the number of active connections per hostname from two to six. This allowed pages with many embedded resources (e.g. images, CSS or JavaScript) to be loaded much more quickly because more requests could be executed in parallel; reducing queuing and the amount of <a title="Blocked time and IE8" href="http://blog.httpwatch.com/2008/03/31/blocked-time-and-ie-8/">Blocked time seen in HttpWatch</a>:</p>
<p><img class="alignnone size-full wp-image-89" style="border: 0pt none;" title="Six connections per host in IE 8" src="http://blog.httpwatch.com/wp-content/uploads/2008/03/ie8_six_connections1.png" alt="Six connections per host in IE 8" width="511" height="579" /></p>
<p>Recently, we noticed that IE 8 sometimes reverts back to the earlier limit of two connections per hostname. The <a title="IE 8 connectivity enhancements" href="http://msdn.microsoft.com/en-us/library/cc304129%28VS.85%29.aspx">connectivity enhancements in IE 8 are documented</a> as requiring broadband connections:</p>
<p><img class="alignnone size-full wp-image-823" style="border: 0pt none;" title="IE 8 Connections Per Server" src="http://blog.httpwatch.com/wp-content/uploads/2009/12/ie_8_max_connections.png" alt="ie_8_max_connections" width="586" height="148" /></p>
<p>But we were seeing the number of active connections being reduced over a fast broadband connection.</p>
<p>Eventually, we found that this occurred whenever a VPN connection was active. Suprisingly, the VPN connection was not actually being used by IE 8 because it did not have the default gateway flag set:</p>
<p><img class="alignnone size-full wp-image-826" style="border: 0pt none;" title="VPN Default Gateway" src="http://blog.httpwatch.com/wp-content/uploads/2009/12/vpn_no_gateway.png" alt="vpn_no_gateway" width="462" height="321" /></p>
<p>Unchecking this option ensures that only traffic for the target network goes over the VPN connection. Other traffic, such as access to public internet web sites, will go through your normal network connection even when the VPN is connected.</p>
<p>It appears that the dialup/broadband detection in IE 8 is too simplistic. If you are using any non-network card based connection, including VPNs or connections through high speed 3G modems, then IE 8 assumes you are using a slow dialup connection. This applies even if no network traffic from IE 8 goes through the connection.</p>
<p>The effect on performance can be significant. For an unoptimized site that requires lots of round-trips, page load time may be increased by 50% or more. Here&#8217;s a screen shot from HttpWatch of <a href="http://blog.httpwatch.com/">this blog</a> being loaded in IE 8:</p>
<p><img class="alignnone size-full wp-image-827" style="border: 0pt none;" title="IE 8 Page Load with no VPN" src="http://blog.httpwatch.com/wp-content/uploads/2009/12/blog_load_no_vpn.png" alt="blog_load_no_vpn" width="506" height="395" /></p>
<p>With a Windows VPN client connected the load time nearly doubles due to the change in connection limiting:</p>
<p><img class="alignnone size-full wp-image-828" title="IE 8 Page Load with VPN" src="http://blog.httpwatch.com/wp-content/uploads/2009/12/blog_load_with_vpn.png" alt="IE 8 Page Load with VPN" width="506" height="396" /></p>
<p>This is definitely something to watch out for if you are working remotely using a VPN connection into your office. Fortunately, there are some simple workarounds:</p>
<ul>
<li>Use Firefox as it is not affected by connection speed. It always uses up to six connections per hostname.</li>
<li>Use a third party VPN client (e.g. OpenVPN) instead of the standard Windows VPN client. IE 8 shouldn&#8217;t detect this as a dialup connection.</li>
</ul>
 <img src="http://blog.httpwatch.com/wp-content/plugins/feed-statistics.php?view=1&post_id=822" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.httpwatch.com/2009/12/07/using-a-vpn-clobbers-ie-8-performance/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HttpWatch Supports Firefox 3.6 Beta 2</title>
		<link>http://blog.httpwatch.com/2009/11/12/httpwatch-supports-firefox-36-beta-2/</link>
		<comments>http://blog.httpwatch.com/2009/11/12/httpwatch-supports-firefox-36-beta-2/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 12:14:17 +0000</pubDate>
		<dc:creator>Httpwatch Blog</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[HttpWatch]]></category>

		<guid isPermaLink="false">http://blog.httpwatch.com/?p=818</guid>
		<description><![CDATA[HttpWatch version 6.2.18 now supports Firefox 3.6 Beta 2, as well as public releases of Firefox 2.0, 3.0 and 3.5 .
 ]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-153 alignright" style="border: 0pt none;" title="Mozilla Firefox" src="http://blog.httpwatch.com/wp-content/uploads/2008/08/firefox.jpg" alt="Mozilla Firefox" width="110" height="109" />HttpWatch version <a title="HttpWatch Download" href="http://www.httpwatch.com/download/">6.2.18</a> now supports <a href="http://www.mozilla.com/en-US/firefox/all-beta.html">Firefox 3.6 Beta 2</a>, as well as public releases of Firefox 2.0, 3.0 and 3.5 .</p>
 <img src="http://blog.httpwatch.com/wp-content/plugins/feed-statistics.php?view=1&post_id=818" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.httpwatch.com/2009/11/12/httpwatch-supports-firefox-36-beta-2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
