<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
	<channel>
		<title>Enable your Zend Framework App with Conditional GET! (Make it green)</title>
		<description>Discuss Enable your Zend Framework App with Conditional GET! (Make it green)</description>
		<link>http://www.smartycode.com/performance/zend-framework-browser-caching/</link>
		<lastBuildDate>Fri, 10 Sep 2010 08:36:52 +0300</lastBuildDate>
		<generator>FeedCreator 1.7.2 - RUS Patches by AndyR</generator>
		<item>
			<title>Joe Devon says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-54</link>
			<description>You may want to note the caveat about eTags popularized by the Steve Souders book: http://developer.yahoo.com/performance/rules.html#etags If you use more than one server, turn off eTags altogether.</description>
			<author>Joe Devon</author>
			<pubDate>Sat, 19 Jun 2010 21:07:25 +0300</pubDate>
		</item>
		<item>
			<title>Giovanni says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-53</link>
			<description>Hi Danila, thanks for your feedback. I guess thought you should put the 2xx or 304 check in such a way that, in case of any code different from 2xx or 304, it actually exits and does not add any additional cache header. In fact I used it like this : if not (2xx or 304) then  else  Hope that was clear. Also please consider giving a feedback on how this trick is working, I'm just now experimenting with it and looks okay, but you never know :) ciao</description>
			<author>Giovanni</author>
			<pubDate>Sat, 27 Feb 2010 09:10:06 +0300</pubDate>
		</item>
		<item>
			<title>Danila V. says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-52</link>
			<description>Hi Giovanni, thanks for your contribution. I have included it onto article. I've taken the todo's text from W3C specs :) What is means here, is that &quot;if we set response code somewhere in the application to i.e. 404 or 500, these should not be handled by conditional get&quot;. Example is when we set these codes in ErrorController. </description>
			<author>Danila V.</author>
			<pubDate>Thu, 25 Feb 2010 19:23:03 +0300</pubDate>
		</item>
		<item>
			<title>Giovanni says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-51</link>
			<description>Sorry, got the html chars stripped off. Here it is, to be placed at the beginning of the shudownloop function: $response_code = $this-&gt;getResponse()-&gt;getHttpResponseCode(); if (! (($response_code [GREATER THAN] 200 AND $response_code [LOWER THAN] 206) OR ($response_code == 304)) ) </description>
			<author>Giovanni</author>
			<pubDate>Mon, 22 Feb 2010 20:19:37 +0300</pubDate>
		</item>
		<item>
			<title>Giovanni says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-50</link>
			<description>Hi, would this be a correct implementation for your TODO block ? public function dispatchLoopShutdown() { $response_code = $this-&gt;getResponse()-&gt;getHttpResponseCode();	if (! (($response_code &gt;= 200 &amp;&amp; $response_code</description>
			<author>Giovanni</author>
			<pubDate>Mon, 22 Feb 2010 20:17:44 +0300</pubDate>
		</item>
		<item>
			<title>Giovanni says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-48</link>
			<description>Hi, thank you for your article! What do you mean by that &quot;TODO&quot; note ? How are you supposed to handle those responses? (eg. a 404) ? thankyou!</description>
			<author>Giovanni</author>
			<pubDate>Mon, 08 Feb 2010 20:56:23 +0300</pubDate>
		</item>
		<item>
			<title>Danila V. says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-38</link>
			<description>Hello Michael, you should set your max-age (pretty much the same thing as Expires) to 0 for such pages. Or other extremely small value. The max-age value defines the time browser does not request the page from network. The plugin does not have ability to define which page gets what max-age. This can be achieved by creating a custom action controller plugin... The current plugin should still work with the 0 value (conditional etag part would keep working). </description>
			<author>Danila V.</author>
			<pubDate>Mon, 01 Jun 2009 20:45:53 +0300</pubDate>
		</item>
		<item>
			<title>Michael says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-32</link>
			<description>Hello, I've tried the conditional GET plugin but had a problem with IE6 and IE7 =&gt; when redirecting to the same page (which has changed in the meanwhile) the old page still remains. What can I do?</description>
			<author>Michael</author>
			<pubDate>Wed, 13 May 2009 18:21:23 +0300</pubDate>
		</item>
		<item>
			<title>Maxence says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-29</link>
			<description> You will not speed up your installation on a local server. This trick is for saving bandwidth.</description>
			<author>Maxence</author>
			<pubDate>Fri, 24 Apr 2009 17:50:54 +0300</pubDate>
		</item>
		<item>
			<title>Oleg Lobach says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-15</link>
			<description>I was trnslate this article - http://lobach.info/develop/zf/enable-conditional-get-in-zend-framework-app/</description>
			<author>Oleg Lobach</author>
			<pubDate>Tue, 07 Apr 2009 10:59:14 +0300</pubDate>
		</item>
		<item>
			<title>Oleg Lobach says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-14</link>
			<description>Hi Danila Plz, contact me - i want publish russian translate of this article in my blog. I wrote letter about it to you, but not received a reply.</description>
			<author>Oleg Lobach</author>
			<pubDate>Mon, 06 Apr 2009 03:49:53 +0300</pubDate>
		</item>
		<item>
			<title>Josh Ribakoff says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-12</link>
			<description>If you have highly volatile content, such as random banner ads, you should include that in the md5 / etag generation</description>
			<author>Josh Ribakoff</author>
			<pubDate>Sun, 29 Mar 2009 23:10:25 +0300</pubDate>
		</item>
		<item>
			<title>Danila V. says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-10</link>
			<description>@Jon: what are using to check headers? I use Firefox's addon &quot;Live HTTP Headers&quot; @Malte, thanks, the code corrected. I also updated the code to get rid of no-cache directive (see update description in the article)</description>
			<author>Danila V.</author>
			<pubDate>Sat, 28 Mar 2009 07:56:29 +0300</pubDate>
		</item>
		<item>
			<title>anon says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-9</link>
			<description>Cool plugin.</description>
			<author>anon</author>
			<pubDate>Sat, 28 Mar 2009 03:33:30 +0300</pubDate>
		</item>
		<item>
			<title>Jon Whitcraft says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-8</link>
			<description>I must be doing something wrong as i'm not getting an etag when i refresh the page. Do I have to set some other headers for this to work or turn something on in apache?</description>
			<author>Jon Whitcraft</author>
			<pubDate>Fri, 27 Mar 2009 21:02:20 +0300</pubDate>
		</item>
		<item>
			<title>Malte says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-7</link>
			<description>actually a third time</description>
			<author>Malte</author>
			<pubDate>Fri, 27 Mar 2009 15:55:09 +0300</pubDate>
		</item>
		<item>
			<title>Malte says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-6</link>
			<description>very interesting! but is the code after foreach needed when we send code 304? also Etag gets set a second time in the else part of if($send_body)</description>
			<author>Malte</author>
			<pubDate>Fri, 27 Mar 2009 15:44:57 +0300</pubDate>
		</item>
		<item>
			<title>Danila V. says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-4</link>
			<description>@James: thanks, I have made the correction @Jon: recent versions of apache add -gzip to ETag values due to an issue raised here: https://issues.apache.org/bugzilla/show_bug.cgi?id=39727 It wasn't implemented correctly and -gzip is added outside quotes. While this is already fixed in Apache's trunk, I figured there is no problem and that -gzip should be stripped in etag check. Updated the code, ETag handling now works also with recent apache versions on gzipped content.</description>
			<author>Danila V.</author>
			<pubDate>Fri, 27 Mar 2009 02:20:19 +0300</pubDate>
		</item>
		<item>
			<title>Sam says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-3</link>
			<description>Great post. I think I'm gonna try to speed up my local Magento installation with this.</description>
			<author>Sam</author>
			<pubDate>Fri, 27 Mar 2009 01:16:06 +0300</pubDate>
		</item>
		<item>
			<title>James Coletti says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-2</link>
			<description>Cool stuff. I think you mean: $frontController-&gt;registerPlugin(new Smartycode_Http_Conditional(), 101);</description>
			<author>James Coletti</author>
			<pubDate>Thu, 26 Mar 2009 10:06:29 +0300</pubDate>
		</item>
		<item>
			<title>Jon Whitcraft says:</title>
			<link>http://www.smartycode.com/performance/zend-framework-browser-caching/#comment-1</link>
			<description>Where can I find more information on the gzip bug with apache so i can look at a fix for this? Thanks.</description>
			<author>Jon Whitcraft</author>
			<pubDate>Thu, 26 Mar 2009 09:40:32 +0300</pubDate>
		</item>
	</channel>
</rss>
