According to Steve Souders: About 15% of folks dont have gzip. So
unzipped sizes do matter.
While I understand

On Wed, Jun 10, 2009 at 10:45 AM, Kevin Brown<[email protected]> wrote:
> Getting rid of IFPC brings the gzipped size down to around 2k, which was my
> personal preference.
>
> Compared to the opensocial-0.8, or even 'core', though, rpc is pretty small.
> Those libraries weigh in at 30k and 10k, respectively.
>
> On Wed, Jun 10, 2009 at 7:06 AM, Paul Lindner <[email protected]> wrote:
>
>> Of all the optimizations out there this seems like the least interesting
>> and
>> more disruptive than necessary.  The (current) whole of rpc.js is
>>  6285 Jun  8 13:28 ./features/target/classes/features/rpc/rpc.opt.js
>>
>> Making this 6k private instead of CDN cacheable would mean that I would
>> have
>> to find another 6k to move onto the CDN to insure that I (and others) hit
>> our cold-cache numbers for loading profile / home pages.
>>
>> Do you mind sharing your goals here?  What kind of byte-savings are you
>> expecting?
>>
>> Is it not possible to have the browser send a filtering parameter along
>> with
>> the request?  The getRelayChannel() function figures out your capabilities
>> based on what the browser can do, not the value of it's
>> UA.  For example there are some people that change their User-Agent to
>> (mostly) Internet Explorer to get around server restrictions.  These people
>> would get broken nix.
>>
>> I just wonder if there are other ways to achieve the wanted byte savings?
>>
>>
>> On Tue, Jun 9, 2009 at 2:18 PM, John Hjelmstad <[email protected]> wrote:
>>
>> > I'm sold, relying on Cache-Control: private is the better option.
>> > This behavior does affect IFRAME rendering paths as well, though doesn't
>> > necessarily need to. Container-side rpc can be optimized without
>> > gadget-side
>> > rpc, since gadgets.rpc(function getRelayChannel()) will return the same
>> > value on each side.
>> >
>> > As Brian mentions, every code path in GadgetRenderingServlet sets
>> > Cache-Control: private[,*] (except nocache=1, not an issue), so the
>> > potential effects are limited to JsServlet.
>> >
>> > So 1. Admittedly, any given deployment will likely see higher JsServlet
>> > traffic if choosing to opt into this feature; 2. this suggests that
>> > JsLibrary field isBrowserSpecific should be added, with JsServlet
>> signaling
>> > noProxy behavior in caching headers when this bit is true for any library
>> > it
>> > emits.
>> >
>> > John
>> >
>> > On Tue, Jun 9, 2009 at 1:53 PM, Brian Eaton <[email protected]> wrote:
>> >
>> > > I don't trust the vary header any farther than I can spit.
>> > >
>> > > For example, at least one version of IE interprets a Vary header with
>> > > any value other than user-agent to mean "OMG, I don't understand,
>> > > don't cache this":
>> > >    http://marc.info/?l=apache-modgzip&m=103958533520502&w=2
>> > >
>> > > In a comment to Mark's blog post, he mentions other implementation
>> > issues:
>> > >
>> > > "More complex situations -- e.g., with multiple Vary headers and
>> > > multiple request headers -- caused problems on a number of
>> > > implementations (i.e., they'd return the wrong thing)."
>> > >
>> > > IMHO, we should stick to "cache-control: private."
>> > >
>> > > We need that on most iframes anyway, so this keeps the cache-control
>> > > changes from rippling out quite so far.
>> > >
>> > > On Tue, Jun 9, 2009 at 1:44 PM, John Panzer<[email protected]> wrote:
>> > > > This seems relevant:
>> http://www.mnot.net/blog/2007/06/20/proxy_caching
>> > > > (It appears that Vary: is fairly safe in the sense that caches that
>> > don't
>> > > > deal with it nicely -- e.g., caching variants -- will just mark the
>> > > content
>> > > > as uncacheable.  Though I don't think this was rigorously tested.)
>> > > >
>> > > > --
>> > > > John Panzer / Blogger
>> > > > [email protected] / abstractioneer.org <
>> > http://www.abstractioneer.org/>
>> > > /
>> > > > @jpanzer
>> > > >
>> > > >
>> > > >
>> > > > On Tue, Jun 9, 2009 at 1:25 PM, <[email protected]> wrote:
>> > > >
>> > > >> Hi Paul:
>> > > >>
>> > > >> You're absolutely right. Vary: User-Agent; is preferable to me. Do
>> you
>> > > >> have any reason in mind for why Cache-Control: private in addition
>> to
>> > or
>> > > >> instead of Vary would be preferable? Ie. common support by various
>> > CDNs.
>> > > >>
>> > > >> I've been thinking how best to link service of custom rpc to setting
>> > > >> this header. Ultimately JsServlet or a Filter needs to do so.
>> Thoughts
>> > > >> on this? The best idea I had was to add something like
>> > > >> isBrowserSpecific() to JsLibrary so that the relevant output code
>> > > >> (gadget rendering, js servlet) could act accordingly.
>> > > >>
>> > > >> Kevin - re: StringBuffer, comment isn't particularly prescriptive so
>> > > >> I'll assume the complaint is use of StringBuffer rather than
>> > > >> StringBuilder. If so, fixed. If not, let me know.
>> > > >>
>> > > >>
>> > > >> http://codereview.appspot.com/63210
>> > > >>
>> > > >
>> > >
>> >
>>
>

Reply via email to