<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-4126985520350746834.post4545026441652014887..comments</id><updated>2011-09-15T08:03:30.077+01:00</updated><category term='Personal'/><category term='Coding'/><category term='WCM'/><category term='Continuous Integration'/><category term='jQuery'/><category term='master pages'/><category term='debugging'/><category term='workflow'/><category term='speaking'/><category term='page layouts'/><category term='security'/><category term='lists'/><category term='deployment'/><category term='SharePoint'/><category term='AJAX'/><category term='content deployment'/><category term='ghosting'/><category term='codeplex'/><category term='help'/><category term='TechEd'/><category term='customizing'/><category term='Virtual Server'/><category term='CAS policy'/><category term='site definitions'/><category term='user group'/><category term='CustomAction'/><category term='SP2010'/><category term='feature-stapling'/><category term='Content Deployment Wizard'/><category term='webparts'/><category term='feature receiver'/><category term='site columns'/><category term='configuration'/><category term='features'/><category term='central admin'/><category term='DelegateControl'/><category term='MOSS'/><category term='content migration API'/><category term='VSeWSS'/><category term='Virtual Machine Manager'/><category term='content query web part'/><category term='content types'/><category term='InfoPath'/><title type='text'>Comments on Chris O'Brien: Optimization, BLOB caching and HTTP 304s</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.sharepointnutsandbolts.com/feeds/4545026441652014887/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html'/><author><name>Chris O'Brien</name><uri>http://www.blogger.com/profile/10022906552670607366</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_DPonmXhJQ4g/SiFZBcX_Q1I/AAAAAAAAAa0/14b7VTN0FZM/s1600-R/28f5735.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-6916655022812564265</id><published>2011-02-23T10:42:58.101Z</published><updated>2011-02-23T10:42:58.101Z</updated><title type='text'>Chris, thanks for this write up. It&amp;#39;s very hel...</title><content type='html'>Chris, thanks for this write up. It&amp;#39;s very helpful and informative.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/6916655022812564265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/6916655022812564265'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1298457778101#c6916655022812564265' title=''/><author><name>Jason Ramoutar</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-608346170'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-210869497848344792</id><published>2009-06-14T10:18:56.387+01:00</published><updated>2009-06-14T10:18:56.387+01:00</updated><title type='text'>@Maxime,

Aha - very interesting to hear that&amp;#39;...</title><content type='html'>@Maxime,&lt;br /&gt;&lt;br /&gt;Aha - very interesting to hear that&amp;#39;s a confirmed bug, particularly from an MS person!&lt;br /&gt;&lt;br /&gt;Many thanks for the info.&lt;br /&gt;&lt;br /&gt;Chris.&lt;br /&gt;&lt;br /&gt;P.S. Agree that if designers need access to the files, an alternative library which Fiddler shows &lt;i&gt;does&lt;/i&gt; BLOB cache properly might be more appropriate than filesystem.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/210869497848344792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/210869497848344792'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1244971136387#c210869497848344792' title=''/><author><name>Chris O'Brien</name><uri>http://www.blogger.com/profile/10022906552670607366</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_DPonmXhJQ4g/SiFZBcX_Q1I/AAAAAAAAAa0/14b7VTN0FZM/s1600-R/28f5735.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2092051249'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-5474134516194896112</id><published>2009-06-12T23:28:00.428+01:00</published><updated>2009-06-12T23:28:00.428+01:00</updated><title type='text'>Thanks Chris for the info, good post.

It&amp;#39;s a ...</title><content type='html'>Thanks Chris for the info, good post.&lt;br /&gt;&lt;br /&gt;It&amp;#39;s a known bug that isn&amp;#39;t fix nor planned until SharePoint 2010.  I&amp;#39;d suggest using a different library to store your custom CSS/JS/XSL.&lt;br /&gt;&lt;br /&gt;The problem with file system folders will be to synchronize them across multiple servers, especially if you allow designers to touch your styles.&lt;br /&gt;&lt;br /&gt;Maxime</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/5474134516194896112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/5474134516194896112'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1244845680428#c5474134516194896112' title=''/><author><name>Maxime Bombardier</name><uri>http://blogs.msdn.com/maximeb</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1705016715'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-1260397907236039278</id><published>2009-05-28T15:28:13.606+01:00</published><updated>2009-05-28T15:28:13.606+01:00</updated><title type='text'>Thanks for your reference to my post on Blob cachi...</title><content type='html'>Thanks for your reference to my post on Blob caching and 304's Chris!  - Mike</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/1260397907236039278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/1260397907236039278'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1243520893606#c1260397907236039278' title=''/><author><name>Mike Hodnick</name><uri>http://www.kindohm.com</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-811780557'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-8054970914409709828</id><published>2009-05-22T18:12:25.460+01:00</published><updated>2009-05-22T18:12:25.460+01:00</updated><title type='text'>Doing something with a HTTP module or similar - ye...</title><content type='html'>Doing something with a HTTP module or similar - yep, that's a good thought.&lt;br /&gt;&lt;br /&gt;Although I guess one could probably argue it would be simpler/more efficient to just store the files somewhere else. Still, good to have the workaround if for some reason the files &lt;I&gt;have&lt;/I&gt; to be stored in the Style Library e.g. for an existing site.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;Chris.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/8054970914409709828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/8054970914409709828'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1243012345460#c8054970914409709828' title=''/><author><name>Chris O'Brien</name><uri>http://www.blogger.com/profile/10022906552670607366</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2092051249'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-3542245436483886917</id><published>2009-05-22T16:48:05.665+01:00</published><updated>2009-05-22T16:48:05.665+01:00</updated><title type='text'>I see this behaviour also in multiple browsers (ev...</title><content type='html'>I see this behaviour also in multiple browsers (even IE8). It is strange that authenticated users do get a max-age according to the max-age in the blobcache and anonymous users get a max-age of 0. The internet is full of anonymous users... &lt;br /&gt;And the performance bottleneck is as Chris says the round trip.&lt;br /&gt;Perhaps a custom http adapter that adds/changes the max-age header can also be a solution if there is no reverse proxy involved?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/3542245436483886917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/3542245436483886917'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1243007285665#c3542245436483886917' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1208490436'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-5392029156051861666</id><published>2009-05-21T12:51:09.080+01:00</published><updated>2009-05-21T12:51:09.080+01:00</updated><title type='text'>@Tyler, @michhes,

Unless I'm missing something, I...</title><content type='html'>@Tyler, @michhes,&lt;br /&gt;&lt;br /&gt;Unless I'm missing something, I see the same behaviour in both browsers. If I check the request for a certain Style Library file in both IE/Fiddler and FF/Tamper, I see the same If-Modified-Since and If-None-Match data. So that's one thing, but in any case - isn't the issue that the request/subsequent 304 is happening in the first place for anonymous users? Regardless of the lower level headers, surely the thing I care about is that the round-trip &lt;B&gt;is&lt;/B&gt; occurring and is therefore slowing down page loads - the browser wouldn't make this request if the file was initially served correctly. &lt;br /&gt;&lt;br /&gt;It sounds to me like solutions like michhes's reverse proxy approach are the only way to combat this currently - I'm curious if this was implemented here because the servers are in Western Australia but site users might be in other continents, so this is exactly the kind of optimization required?&lt;br /&gt;&lt;br /&gt;Thanks for the comments..&lt;br /&gt;&lt;br /&gt;Chris.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/5392029156051861666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/5392029156051861666'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1242906669080#c5392029156051861666' title=''/><author><name>Chris O'Brien</name><uri>http://www.blogger.com/profile/10022906552670607366</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2092051249'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-8464737413567444616</id><published>2009-05-20T11:24:26.948+01:00</published><updated>2009-05-20T11:24:26.948+01:00</updated><title type='text'>We work around this on www.westernaustralia.com an...</title><content type='html'>We work around this on www.westernaustralia.com and other sites by doing some cache header rewriting on our reverse proxy using FilterProxy. The reverse proxy sits between the WFEs and the internet and handles all content being shunted down the line. As all of our sites are served through the proxy this also makes life easier as we don't have to configure caching at the IIS site level.&lt;br /&gt;&lt;br /&gt;I've also noticed differences between IE and FF (FF always seems to issue the conditional get but maybe that's just due to browser settings).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/8464737413567444616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/8464737413567444616'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1242815066948#c8464737413567444616' title=''/><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://bp1.blogger.com/_kuHIq0i1UO4/SGWWQ8gfIyI/AAAAAAAABSk/KsUFmXT9c14/S220/P7280037.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1285286890'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-828252352146718012</id><published>2009-05-20T07:31:11.271+01:00</published><updated>2009-05-20T07:31:11.271+01:00</updated><title type='text'>Does this behave consistently across browsers?

Fo...</title><content type='html'>Does this behave consistently across browsers?&lt;br /&gt;&lt;br /&gt;For FireFox, when some asset gets pulled from the Style Library yes it's true that it gets a Cache-Control of private,max-age=0...but there's also an ETag and a Last-Modified header that get sent in the original response.&lt;br /&gt;&lt;br /&gt;Other browsers will pick these up and the next time they send a request they'll send  If-Modified-Since and  If-None-Match headers (in addition to Cache-Control). &lt;br /&gt;&lt;br /&gt;When SharePoint gets these it will hand out the appropriate response code 304 (Not Modified).&lt;br /&gt;&lt;br /&gt;Could it be that this "bug" is in IE 6/7 and is fixed in future MS browsers?&lt;br /&gt;&lt;br /&gt;Put fiddler away for a sec and have another look with FireFox and Tamper data. The fresh set of eyes may change your mind.&lt;br /&gt;&lt;br /&gt;My Best,&lt;br /&gt;Tyler</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/828252352146718012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/828252352146718012'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1242801071271#c828252352146718012' title=''/><author><name>Tyler Holmes</name><uri>http://www.blogger.com/profile/16288716879251803370</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp1.blogger.com/_x_KlQTLtnfI/R6e9dSjX4AI/AAAAAAAAAUo/tYqjiMPzf4s/S220/MugShot-Cropped.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-268730332'/></entry><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-1726142917240534388</id><published>2009-05-19T14:48:00.000+01:00</published><updated>2009-05-19T14:48:00.000+01:00</updated><title type='text'>Personally I think this is a huge bug. Someone has...</title><content type='html'>Personally I think this is a huge bug. Someone has noticed it back in 2007 in a comment on this post:&lt;br /&gt;http://blogs.msdn.com/ecm/archive/2006/11/08/how-to-make-your-moss-2007-web-site-faster-with-caching.aspx&lt;br /&gt;&lt;br /&gt;I don't understand that MS doesn't fix this. Even SP2 doesn't.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/1726142917240534388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/4545026441652014887/comments/default/1726142917240534388'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html?showComment=1242740880000#c1726142917240534388' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.sharepointnutsandbolts.com/2009/05/optimization-blob-caching-and-http-304s.html' ref='tag:blogger.com,1999:blog-4126985520350746834.post-4545026441652014887' source='http://www.blogger.com/feeds/4126985520350746834/posts/default/4545026441652014887' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1296775761'/></entry></feed>
