<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: SSL is not table salt</title>
	<atom:link href="http://rdist.root.org/2009/03/09/ssl-is-not-table-salt/feed/" rel="self" type="application/rss+xml" />
	<link>http://rdist.root.org/2009/03/09/ssl-is-not-table-salt/</link>
	<description>Embedded security, crypto, software protection</description>
	<lastBuildDate>Sat, 13 Mar 2010 14:29:16 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Nate Lawson</title>
		<link>http://rdist.root.org/2009/03/09/ssl-is-not-table-salt/#comment-4922</link>
		<dc:creator>Nate Lawson</dc:creator>
		<pubDate>Wed, 11 Mar 2009 01:11:45 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=292#comment-4922</guid>
		<description>Excellent info, thanks for babbling.  :)</description>
		<content:encoded><![CDATA[<p>Excellent info, thanks for babbling.  :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Palmer</title>
		<link>http://rdist.root.org/2009/03/09/ssl-is-not-table-salt/#comment-4921</link>
		<dc:creator>Chris Palmer</dc:creator>
		<pubDate>Tue, 10 Mar 2009 17:25:53 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=292#comment-4921</guid>
		<description>Note that pipelining and keep-alive are different things:

http://en.wikipedia.org/wiki/HTTP_persistent_connection

http://en.wikipedia.org/wiki/HTTP_pipelining

While both definitely help performance, browsers apparently can&#039;t assume that servers support it (even though &quot;HTTP/1.1 conforming servers are required to support pipelining&quot;). You can turn it on in Firefox in about:config and see if it works well.

As for minification (eliminating whitespace and comments and such), it does indeed help, even when combined with compression. One of my clients has an 80KiB front page, 40KiB of which is nothing but whitespace! They gzip the 80 down to 12, but gzipping the minified version gets you down to 9.7 -- a significant savings when you get lots of hits per day. :)

There are free tools for minification, and they could be built into filters, and probably have been.

Sorry to babble on -- this is one of my favorite topics because it unites security, usability, and performance and shows that the three work together, rather than opposing each other.</description>
		<content:encoded><![CDATA[<p>Note that pipelining and keep-alive are different things:</p>
<p><a href="http://en.wikipedia.org/wiki/HTTP_persistent_connection" rel="nofollow">http://en.wikipedia.org/wiki/HTTP_persistent_connection</a></p>
<p><a href="http://en.wikipedia.org/wiki/HTTP_pipelining" rel="nofollow">http://en.wikipedia.org/wiki/HTTP_pipelining</a></p>
<p>While both definitely help performance, browsers apparently can&#8217;t assume that servers support it (even though &#8220;HTTP/1.1 conforming servers are required to support pipelining&#8221;). You can turn it on in Firefox in about:config and see if it works well.</p>
<p>As for minification (eliminating whitespace and comments and such), it does indeed help, even when combined with compression. One of my clients has an 80KiB front page, 40KiB of which is nothing but whitespace! They gzip the 80 down to 12, but gzipping the minified version gets you down to 9.7 &#8212; a significant savings when you get lots of hits per day. :)</p>
<p>There are free tools for minification, and they could be built into filters, and probably have been.</p>
<p>Sorry to babble on &#8212; this is one of my favorite topics because it unites security, usability, and performance and shows that the three work together, rather than opposing each other.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nate Lawson</title>
		<link>http://rdist.root.org/2009/03/09/ssl-is-not-table-salt/#comment-4920</link>
		<dc:creator>Nate Lawson</dc:creator>
		<pubDate>Tue, 10 Mar 2009 16:22:21 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=292#comment-4920</guid>
		<description>Heh, thanks Chris. You&#039;re right that sesssion resumption and pipelining help significantly. I briefly looked at Wordpress and it appears to load many small images from a lot of different servers with no pipelining. Yahoo email goes through two separate SSL connections before getting the cookie and connecting to the email server (a third name lookup).

On a related note, I&#039;ve always wondered why there wasn&#039;t an html-compress filter that static content was run through as part of an install step. I&#039;m not talking gzip, I mean things like removing all whitespace, reducing all javascript variables and functions to short versions, and eliminating comments. This plus gzip compression could greatly reduce load times, even without SSL. Of course, you wouldn&#039;t use this on the debugging server.</description>
		<content:encoded><![CDATA[<p>Heh, thanks Chris. You&#8217;re right that sesssion resumption and pipelining help significantly. I briefly looked at WordPress and it appears to load many small images from a lot of different servers with no pipelining. Yahoo email goes through two separate SSL connections before getting the cookie and connecting to the email server (a third name lookup).</p>
<p>On a related note, I&#8217;ve always wondered why there wasn&#8217;t an html-compress filter that static content was run through as part of an install step. I&#8217;m not talking gzip, I mean things like removing all whitespace, reducing all javascript variables and functions to short versions, and eliminating comments. This plus gzip compression could greatly reduce load times, even without SSL. Of course, you wouldn&#8217;t use this on the debugging server.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Palmer</title>
		<link>http://rdist.root.org/2009/03/09/ssl-is-not-table-salt/#comment-4919</link>
		<dc:creator>Chris Palmer</dc:creator>
		<pubDate>Mon, 09 Mar 2009 21:19:17 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=292#comment-4919</guid>
		<description>Preach it! As you know better than me, the symmetric and asymmetric encryption gets cheaper every year, is amortizable (HTTP 1.1 keep-alive, TLS session resumption), is acceleratable, and is a reasonable cost of doing business anyway. The tougher cost is the TLS handshake: there&#039;s no avoiding the network latency it incurs. Of course, that latency is also amortizable, AND, the majority of sites I&#039;ve looked at are paying far worse costs than a little 100ms set-up. Sending 300KB of HTML/JS/CSS where 30KB would have the exact same meaning to the browser? Loading 40 images from 14 hostnames? Suboptimal JPEG compression level? An unoptimized AJAX client-side component? Failing to tell user agents and proxies to cache things properly? All those things cost considerably more (1 or more orders of magnitude) than the TLS handshake, yet they are the norm even on big, high-traffic web sites.

I&#039;m doing a talk on this topic at Web 2.0 Expo (April 2009) on this topic, to try to change the prevailing attitude. At the same time, maybe we can convince browser vendors to try HTTPS before HTTP when users type in &quot;wellsfargo.com&quot;. :)</description>
		<content:encoded><![CDATA[<p>Preach it! As you know better than me, the symmetric and asymmetric encryption gets cheaper every year, is amortizable (HTTP 1.1 keep-alive, TLS session resumption), is acceleratable, and is a reasonable cost of doing business anyway. The tougher cost is the TLS handshake: there&#8217;s no avoiding the network latency it incurs. Of course, that latency is also amortizable, AND, the majority of sites I&#8217;ve looked at are paying far worse costs than a little 100ms set-up. Sending 300KB of HTML/JS/CSS where 30KB would have the exact same meaning to the browser? Loading 40 images from 14 hostnames? Suboptimal JPEG compression level? An unoptimized AJAX client-side component? Failing to tell user agents and proxies to cache things properly? All those things cost considerably more (1 or more orders of magnitude) than the TLS handshake, yet they are the norm even on big, high-traffic web sites.</p>
<p>I&#8217;m doing a talk on this topic at Web 2.0 Expo (April 2009) on this topic, to try to change the prevailing attitude. At the same time, maybe we can convince browser vendors to try HTTPS before HTTP when users type in &#8220;wellsfargo.com&#8221;. :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
