<?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"
	>
<channel>
	<title>Comments on: Revving Filenames: don&#8217;t use querystring</title>
	<atom:link href="http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/</link>
	<description>Essential knowledge for making your web pages faster.</description>
	<pubDate>Tue, 06 Jan 2009 12:52:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Łukasz Korzybski</title>
		<link>http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/#comment-360</link>
		<dc:creator>Łukasz Korzybski</dc:creator>
		<pubDate>Mon, 08 Dec 2008 13:31:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=25#comment-360</guid>
		<description>Great test! It ultimately shows that more conservative approach which is file name versioning is a more safe method (at least now).</description>
		<content:encoded><![CDATA[<p>Great test! It ultimately shows that more conservative approach which is file name versioning is a more safe method (at least now).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: murray</title>
		<link>http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/#comment-242</link>
		<dc:creator>murray</dc:creator>
		<pubDate>Wed, 27 Aug 2008 19:20:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=25#comment-242</guid>
		<description>fyi: squid is capable of caching URLs with query strings, it just wasn't default behavior due to:

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

squid actually changed their default policy with caching dynamic URLs with their 2.7 release:

http://wiki.squid-cache.org/ConfigExamples/DynamicContent

1 big caveat tho, their dev team told me this will break if you're using multiple squid nodes with sibling relationships. requests coming from cache peers have an additional header which will hang the request.</description>
		<content:encoded><![CDATA[<p>fyi: squid is capable of caching URLs with query strings, it just wasn&#8217;t default behavior due to:</p>
<p>hierarchy_stoplist cgi-bin ?<br />
acl QUERY urlpath_regex cgi-bin \?<br />
cache deny QUERY</p>
<p>squid actually changed their default policy with caching dynamic URLs with their 2.7 release:</p>
<p><a href="http://wiki.squid-cache.org/ConfigExamples/DynamicContent" rel="nofollow">http://wiki.squid-cache.org/ConfigExamples/DynamicContent</a></p>
<p>1 big caveat tho, their dev team told me this will break if you&#8217;re using multiple squid nodes with sibling relationships. requests coming from cache peers have an additional header which will hang the request.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yusuf Goolamabbas</title>
		<link>http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/#comment-239</link>
		<dc:creator>Yusuf Goolamabbas</dc:creator>
		<pubDate>Mon, 25 Aug 2008 13:00:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=25#comment-239</guid>
		<description>Steve, From my memory HTTP/1.0 keepalives and HTTP/1.1 persistent connections are slightly different.

HTTP/1.0 kept-alive connections must be broken after every dynamic object
HTTP/1.0 doesn't support pipelining
HTTP/1.0 keepalives is not allowed when one speaks through a proxy.

my experience with squid has been primarily as a reverse proxy and even when I turned 
client_persistent_connections on
server_persistent_connections on

Squid did not reuse the connections in all cases
Basically, Squid can't persist the client-side connection unless it gets a Content-Length: header from the backend.</description>
		<content:encoded><![CDATA[<p>Steve, From my memory HTTP/1.0 keepalives and HTTP/1.1 persistent connections are slightly different.</p>
<p>HTTP/1.0 kept-alive connections must be broken after every dynamic object<br />
HTTP/1.0 doesn&#8217;t support pipelining<br />
HTTP/1.0 keepalives is not allowed when one speaks through a proxy.</p>
<p>my experience with squid has been primarily as a reverse proxy and even when I turned<br />
client_persistent_connections on<br />
server_persistent_connections on</p>
<p>Squid did not reuse the connections in all cases<br />
Basically, Squid can&#8217;t persist the client-side connection unless it gets a Content-Length: header from the backend.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Moushumi Kabir</title>
		<link>http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/#comment-238</link>
		<dc:creator>Moushumi Kabir</dc:creator>
		<pubDate>Mon, 25 Aug 2008 04:52:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=25#comment-238</guid>
		<description>This is very useful information. Thanks!</description>
		<content:encoded><![CDATA[<p>This is very useful information. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Souders</title>
		<link>http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/#comment-237</link>
		<dc:creator>Steve Souders</dc:creator>
		<pubDate>Sun, 24 Aug 2008 16:04:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=25#comment-237</guid>
		<description>Great comments. The example from Wufoo is awesome. 

Yusuf - I'm assuming HTTP/1.0 is still using persistent connections (connection: keep-alive). How does that affect the 3way handshake?</description>
		<content:encoded><![CDATA[<p>Great comments. The example from Wufoo is awesome. </p>
<p>Yusuf - I&#8217;m assuming HTTP/1.0 is still using persistent connections (connection: keep-alive). How does that affect the 3way handshake?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yusuf Goolamabbas</title>
		<link>http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/#comment-236</link>
		<dc:creator>Yusuf Goolamabbas</dc:creator>
		<pubDate>Sun, 24 Aug 2008 15:31:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=25#comment-236</guid>
		<description>Steve, HTTP 1.0 will also cause a tcp 3way handshake to occur for each and every request. It would be interesting to benchmark a page which has many responses (think JSON or XML via XHR) fronted by reverse proxy which can switch between HTTP 1.0 and HTTP 1.1 (lighty 1.5) or comparing squid versus nginx.

it gets more interesting if you put a traffic modellor to emulate a high latency connection between client and proxy so the time taken by the 3way handshake starts to dominate</description>
		<content:encoded><![CDATA[<p>Steve, HTTP 1.0 will also cause a tcp 3way handshake to occur for each and every request. It would be interesting to benchmark a page which has many responses (think JSON or XML via XHR) fronted by reverse proxy which can switch between HTTP 1.0 and HTTP 1.1 (lighty 1.5) or comparing squid versus nginx.</p>
<p>it gets more interesting if you put a traffic modellor to emulate a high latency connection between client and proxy so the time taken by the 3way handshake starts to dominate</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charlie Park</title>
		<link>http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/#comment-235</link>
		<dc:creator>Charlie Park</dc:creator>
		<pubDate>Sat, 23 Aug 2008 23:11:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=25#comment-235</guid>
		<description>Kevin Hale, from Wufoo, has &lt;a href="http://particletree.com/notebook/automatically-version-your-css-and-javascript-files/" rel="nofollow"&gt;a piece on automatically versioning files&lt;/a&gt;. Although I haven't implemented his code on any of my sites, it looks promising, and works with the non-querystring filename version promoted here.</description>
		<content:encoded><![CDATA[<p>Kevin Hale, from Wufoo, has <a href="http://particletree.com/notebook/automatically-version-your-css-and-javascript-files/" rel="nofollow">a piece on automatically versioning files</a>. Although I haven&#8217;t implemented his code on any of my sites, it looks promising, and works with the non-querystring filename version promoted here.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
