<?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/"
		>
<channel>
	<title>Comments on: qUIpt: caching JS in window.name</title>
	<atom:link href="http://ajaxian.com/archives/quipt-caching-js-in-windowname/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: x00mario</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265690</link>
		<dc:creator>x00mario</dc:creator>
		<pubDate>Mon, 07 Jul 2008 12:48:03 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265690</guid>
		<description>Just a sidenote: I just opened a Google Group for qUIpt rekated discussions:

https://groups.google.com/group/quipt</description>
		<content:encoded><![CDATA[<p>Just a sidenote: I just opened a Google Group for qUIpt rekated discussions:</p>
<p><a href="https://groups.google.com/group/quipt" rel="nofollow">https://groups.google.com/group/quipt</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: x00mario</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265689</link>
		<dc:creator>x00mario</dc:creator>
		<pubDate>Mon, 07 Jul 2008 08:28:56 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265689</guid>
		<description>@Jordan: Yep - but if you allow the user to post HTML with dangerous attributes - which target definitely is - you mostly also have an XSS or a first step in this direction. 

@stevesnz: It depends - if you have the possibility to compress and concat all your JS files during deploy you can and should use it. But not any site does it and this approach tries to give an overall solution to reduce the traffic sent from the server to the client.

Please keep in mind that the project is very young and there is of course a lot to optimize.</description>
		<content:encoded><![CDATA[<p>@Jordan: Yep &#8211; but if you allow the user to post HTML with dangerous attributes &#8211; which target definitely is &#8211; you mostly also have an XSS or a first step in this direction. </p>
<p>@stevesnz: It depends &#8211; if you have the possibility to compress and concat all your JS files during deploy you can and should use it. But not any site does it and this approach tries to give an overall solution to reduce the traffic sent from the server to the client.</p>
<p>Please keep in mind that the project is very young and there is of course a lot to optimize.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stevesnz</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265683</link>
		<dc:creator>stevesnz</dc:creator>
		<pubDate>Mon, 07 Jul 2008 05:02:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265683</guid>
		<description>and if you&#039;re using it to store multiple javascript files, then you better off just copy and pasting the all the files into a single .js file so that there&#039;s only 1 http request.

that will stay cached for multi visists, window.name stuff won&#039;t so will actually offer even worse performance</description>
		<content:encoded><![CDATA[<p>and if you&#8217;re using it to store multiple javascript files, then you better off just copy and pasting the all the files into a single .js file so that there&#8217;s only 1 http request.</p>
<p>that will stay cached for multi visists, window.name stuff won&#8217;t so will actually offer even worse performance</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stevesnz</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265682</link>
		<dc:creator>stevesnz</dc:creator>
		<pubDate>Mon, 07 Jul 2008 04:59:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265682</guid>
		<description>Just seems pointless, fiddly, and probably insecure.  If it&#039;s a really js complex app then just do the entire thing in ajax so you never leave the page

If you want persistent data store for a standard app, then store it server side via sessions.</description>
		<content:encoded><![CDATA[<p>Just seems pointless, fiddly, and probably insecure.  If it&#8217;s a really js complex app then just do the entire thing in ajax so you never leave the page</p>
<p>If you want persistent data store for a standard app, then store it server side via sessions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikael Bergkvist</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265677</link>
		<dc:creator>Mikael Bergkvist</dc:creator>
		<pubDate>Sat, 05 Jul 2008 16:41:33 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265677</guid>
		<description>What is it supposed to do? I get nuthin? I&#039;ve tried it in Firefox 3, IE7, and Safari.</description>
		<content:encoded><![CDATA[<p>What is it supposed to do? I get nuthin? I&#8217;ve tried it in Firefox 3, IE7, and Safari.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nosredna</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265675</link>
		<dc:creator>Nosredna</dc:creator>
		<pubDate>Sat, 05 Jul 2008 16:15:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265675</guid>
		<description>Is this really persistent? It goes away upon browser close, right? So it&#039;s only good for replacing session cookies, right?</description>
		<content:encoded><![CDATA[<p>Is this really persistent? It goes away upon browser close, right? So it&#8217;s only good for replacing session cookies, right?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jordan</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265674</link>
		<dc:creator>Jordan</dc:creator>
		<pubDate>Sat, 05 Jul 2008 15:59:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265674</guid>
		<description>The HTML in my last post was not escaped. Here it is again:
[a href=&quot;.&quot; target=&quot;alert(&#039;evil&#039;);&quot;]Click Here[/a]</description>
		<content:encoded><![CDATA[<p>The HTML in my last post was not escaped. Here it is again:<br />
[a href="." target="alert('evil');"]Click Here[/a]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jordan</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265673</link>
		<dc:creator>Jordan</dc:creator>
		<pubDate>Sat, 05 Jul 2008 15:57:42 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265673</guid>
		<description>What if your site allows user input via HTML (like forums) and you fail to filter out the &quot;target&quot; attribute on links. Then someone could craft a malicious URL that modifies the window name and your website might run it. e.g.,
[a href=&quot;.&quot; target=&quot;alert(&#039;evil&#039;);&quot;]Click Here[/a]</description>
		<content:encoded><![CDATA[<p>What if your site allows user input via HTML (like forums) and you fail to filter out the &#8220;target&#8221; attribute on links. Then someone could craft a malicious URL that modifies the window name and your website might run it. e.g.,<br />
[a href="." target="alert('evil');"]Click Here[/a]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: V1</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265672</link>
		<dc:creator>V1</dc:creator>
		<pubDate>Sat, 05 Jul 2008 11:47:28 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265672</guid>
		<description>U can just add a some sort of identifyer infront of the code that u will store in window.name.. If it doesn&#039;t match the identifyer in your normal code, just fetch the regular data en clear the window.name..

Just taking a simple window.location as identifyer would probly be enough.. and lets face it... what would the chance that someone would inject evil code in a window.name and the person with infected window.name would actually visit your site.... So a simple identify string would be enough..

And if u secure information in window.name your just an moroon.</description>
		<content:encoded><![CDATA[<p>U can just add a some sort of identifyer infront of the code that u will store in window.name.. If it doesn&#8217;t match the identifyer in your normal code, just fetch the regular data en clear the window.name..</p>
<p>Just taking a simple window.location as identifyer would probly be enough.. and lets face it&#8230; what would the chance that someone would inject evil code in a window.name and the person with infected window.name would actually visit your site&#8230;. So a simple identify string would be enough..</p>
<p>And if u secure information in window.name your just an moroon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Urielka</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265671</link>
		<dc:creator>Urielka</dc:creator>
		<pubDate>Sat, 05 Jul 2008 08:58:21 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265671</guid>
		<description>you can md5 the window.name with the md5 of your js file to prevent hackers from inserting code in window.name</description>
		<content:encoded><![CDATA[<p>you can md5 the window.name with the md5 of your js file to prevent hackers from inserting code in window.name</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uize</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265669</link>
		<dc:creator>uize</dc:creator>
		<pubDate>Sat, 05 Jul 2008 07:34:38 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265669</guid>
		<description>*Really* clever, and *really* scary. Persistent data storage, persistent JS storage. And, basically circumventing the size limitations imposed on cookies. Seems more compelling for persistent state than JS module caching.
&#160;
I&#039;m inclined to agree that it&#039;s good to rely on the caching controls of the browser for external JS modules, although one of my pet gripes about browsers is the lack of a formal packaging protocol - for *anything* external. Is there nothing in HTTP that speaks to batching of requests? I&#039;m sure I&#039;m not alone in finding that there are cases where one bundles many JS files into a single file in order to improve page performance by reducing HTTP requests. We also do this with CSS sprites. So, clearly the HTTP protocol - in its current form - is failing critical use cases and critical request patterns. There&#039;s a need that the spec is not adequately addressing.
&#160;
So, one of the gripes about creating JS bundles for some pages is that on other pages when one wants to load in only a few of the modules that were already part of a bundle used on some other page, those modules are not already cached from the browser&#039;s perspective. In an ideal world, an enhanced HTTP would just take care of this automatically, based upon negotiation between the client and the server, so that the sweet spot of separate requests vs batched/bundle requests would just be tuned over time by the server&#039;s record of performance and how separate vs bundled would improve performance.
&#160;
HTTP and networking is already a sophisticated world of complex algorithms of mathematics. It doesn&#039;t seem unreasonable to push HTTP further in the direction of negotiating the pattern of requests to achieve optimal results, without forcing application designers to have to build access assumptions into their application design.</description>
		<content:encoded><![CDATA[<p>*Really* clever, and *really* scary. Persistent data storage, persistent JS storage. And, basically circumventing the size limitations imposed on cookies. Seems more compelling for persistent state than JS module caching.<br />
&nbsp;<br />
I&#8217;m inclined to agree that it&#8217;s good to rely on the caching controls of the browser for external JS modules, although one of my pet gripes about browsers is the lack of a formal packaging protocol &#8211; for *anything* external. Is there nothing in HTTP that speaks to batching of requests? I&#8217;m sure I&#8217;m not alone in finding that there are cases where one bundles many JS files into a single file in order to improve page performance by reducing HTTP requests. We also do this with CSS sprites. So, clearly the HTTP protocol &#8211; in its current form &#8211; is failing critical use cases and critical request patterns. There&#8217;s a need that the spec is not adequately addressing.<br />
&nbsp;<br />
So, one of the gripes about creating JS bundles for some pages is that on other pages when one wants to load in only a few of the modules that were already part of a bundle used on some other page, those modules are not already cached from the browser&#8217;s perspective. In an ideal world, an enhanced HTTP would just take care of this automatically, based upon negotiation between the client and the server, so that the sweet spot of separate requests vs batched/bundle requests would just be tuned over time by the server&#8217;s record of performance and how separate vs bundled would improve performance.<br />
&nbsp;<br />
HTTP and networking is already a sophisticated world of complex algorithms of mathematics. It doesn&#8217;t seem unreasonable to push HTTP further in the direction of negotiating the pattern of requests to achieve optimal results, without forcing application designers to have to build access assumptions into their application design.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rindu</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265668</link>
		<dc:creator>rindu</dc:creator>
		<pubDate>Sat, 05 Jul 2008 04:59:35 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265668</guid>
		<description>I have try on FireFox 3. This is good. But ... When I type new url on address bar. The Firefox take all my CPU around 30 sec and then display the warning to continue or terminate the running script.
Hmm ... this not good for my client and need more improvisation to to handle it. But thank you and  good work.</description>
		<content:encoded><![CDATA[<p>I have try on FireFox 3. This is good. But &#8230; When I type new url on address bar. The Firefox take all my CPU around 30 sec and then display the warning to continue or terminate the running script.<br />
Hmm &#8230; this not good for my client and need more improvisation to to handle it. But thank you and  good work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nosredna</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265665</link>
		<dc:creator>Nosredna</dc:creator>
		<pubDate>Fri, 04 Jul 2008 21:17:11 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265665</guid>
		<description>So it&#039;s gone when you close the browser, right? Anything else that kills it?</description>
		<content:encoded><![CDATA[<p>So it&#8217;s gone when you close the browser, right? Anything else that kills it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: x00mario</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265663</link>
		<dc:creator>x00mario</dc:creator>
		<pubDate>Fri, 04 Jul 2008 19:27:30 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265663</guid>
		<description>@V1: browser caching relies on several factors that can&#039;t completely be controlled by site owners - headers, client settings, SSL, strict provider etc. I made several performance tests - IE7 runs slower as soon as you start putting more than 2MB into window.name. FF3 runs pretty stable even with +200MB.</description>
		<content:encoded><![CDATA[<p>@V1: browser caching relies on several factors that can&#8217;t completely be controlled by site owners &#8211; headers, client settings, SSL, strict provider etc. I made several performance tests &#8211; IE7 runs slower as soon as you start putting more than 2MB into window.name. FF3 runs pretty stable even with +200MB.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: V1</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265662</link>
		<dc:creator>V1</dc:creator>
		<pubDate>Fri, 04 Jul 2008 19:05:49 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265662</guid>
		<description>Did u test storing large data in window.name in IE.. performance based. 
Also did u test.. window.name performance when the memory is running full?

As these a some big issues that i found out when using the window.name for storage, even for small javascript of a size around 150k (normal extended library size)

Also, i don&#039;t really see the point of &quot;caching&quot; javascript in window.name as the browser already caches it itself.</description>
		<content:encoded><![CDATA[<p>Did u test storing large data in window.name in IE.. performance based.<br />
Also did u test.. window.name performance when the memory is running full?</p>
<p>As these a some big issues that i found out when using the window.name for storage, even for small javascript of a size around 150k (normal extended library size)</p>
<p>Also, i don&#8217;t really see the point of &#8220;caching&#8221; javascript in window.name as the browser already caches it itself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nosredna</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265659</link>
		<dc:creator>Nosredna</dc:creator>
		<pubDate>Fri, 04 Jul 2008 16:53:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265659</guid>
		<description>Clever.

Can I use window.name as a persistent store for other things?</description>
		<content:encoded><![CDATA[<p>Clever.</p>
<p>Can I use window.name as a persistent store for other things?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: x00mario</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265657</link>
		<dc:creator>x00mario</dc:creator>
		<pubDate>Fri, 04 Jul 2008 15:33:20 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265657</guid>
		<description>Not all browsers support the CacheControl headers for SSL connections yet - and it may take more or less long while until the majority will do. So as a site owner you can remove one blackbox (you never really know how your users configures the caching and why  and when resources are loaded again) and traffic generator.</description>
		<content:encoded><![CDATA[<p>Not all browsers support the CacheControl headers for SSL connections yet &#8211; and it may take more or less long while until the majority will do. So as a site owner you can remove one blackbox (you never really know how your users configures the caching and why  and when resources are loaded again) and traffic generator.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ironfroggy</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265656</link>
		<dc:creator>ironfroggy</dc:creator>
		<pubDate>Fri, 04 Jul 2008 15:19:44 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265656</guid>
		<description>This should not be needed if you provide proper caching headers.</description>
		<content:encoded><![CDATA[<p>This should not be needed if you provide proper caching headers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: x00mario</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265652</link>
		<dc:creator>x00mario</dc:creator>
		<pubDate>Fri, 04 Jul 2008 14:57:05 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265652</guid>
		<description>Yup - I am not yet sure if the script is &quot;un-hackable&quot; in all major browsers - especially IE6 - but my tests showed good results. During this month we will start a live test on a high traffic site - I will post the results to the project page as soon as completed.</description>
		<content:encoded><![CDATA[<p>Yup &#8211; I am not yet sure if the script is &#8220;un-hackable&#8221; in all major browsers &#8211; especially IE6 &#8211; but my tests showed good results. During this month we will start a live test on a high traffic site &#8211; I will post the results to the project page as soon as completed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SimonWillison</title>
		<link>http://ajaxian.com/archives/quipt-caching-js-in-windowname/comment-page-1#comment-265651</link>
		<dc:creator>SimonWillison</dc:creator>
		<pubDate>Fri, 04 Jul 2008 14:40:25 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3823#comment-265651</guid>
		<description>On second look, he&#039;s guarding against that attack by checking document.referrer before eval()ing the JavaScript in window.name. Smart workaround.</description>
		<content:encoded><![CDATA[<p>On second look, he&#8217;s guarding against that attack by checking document.referrer before eval()ing the JavaScript in window.name. Smart workaround.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

