Mailing List Archive

Cache page with dynamic query string
I am pretty sure the answer to this is: It's not possible; but I am
hoping to learn something new.

There is a page, let's call it promo.php. We tell a bunch of people
about it and append their email address to the page for tracking ... i.e
promo.php?foo@bar.baz

I believe in other to cache the page, I need to strip the query string
(since it will be unique). Is there a way for Varnish to cache this
page, yet still track the hits? i.e. Strip the query string for the
lookup and add it back on delivery.

Thanks,
Travis

_______________________________________________
varnish-misc mailing list
varnish-misc@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
Re: Cache page with dynamic query string [ In reply to ]
If the tracking is done via Javascript (like google analytics) stripping
the query string won't prevent the tracking from happening as it will
happen on the client browser.

If the tracking happens on the backend, you're out of luck.

On Tue, May 1, 2012 at 4:46 PM, Travis Crowder
<travis.crowder@spechal.com>wrote:

> I am pretty sure the answer to this is: It's not possible; but I am hoping
> to learn something new.
>
> There is a page, let's call it promo.php. We tell a bunch of people about
> it and append their email address to the page for tracking ... i.e
> promo.php?foo@bar.baz
>
> I believe in other to cache the page, I need to strip the query string
> (since it will be unique). Is there a way for Varnish to cache this page,
> yet still track the hits? i.e. Strip the query string for the lookup and
> add it back on delivery.
>
> Thanks,
> Travis
>
> ______________________________**_________________
> varnish-misc mailing list
> varnish-misc@varnish-cache.org
> https://www.varnish-cache.org/**lists/mailman/listinfo/**varnish-misc<https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc>
>



--
Hugues ALARY
Re: Cache page with dynamic query string [ In reply to ]
Thanks for your quick reply. I appreciate it.

The tracking does happen on the front end (omniture javascript), which
is why I am weary of just stripping it out. Do you believe the approach
of stripping and adding back in the query string is appropriate?

Thanks again,
Travis

On 5/1/2012 6:50 PM, Hugues Alary wrote:
> If the tracking is done via Javascript (like google analytics)
> stripping the query string won't prevent the tracking from happening
> as it will happen on the client browser.
>
> If the tracking happens on the backend, you're out of luck.
>
> On Tue, May 1, 2012 at 4:46 PM, Travis Crowder
> <travis.crowder@spechal.com <mailto:travis.crowder@spechal.com>> wrote:
>
> I am pretty sure the answer to this is: It's not possible; but I
> am hoping to learn something new.
>
> There is a page, let's call it promo.php. We tell a bunch of
> people about it and append their email address to the page for
> tracking ... i.e promo.php?foo@bar.baz
>
> I believe in other to cache the page, I need to strip the query
> string (since it will be unique). Is there a way for Varnish to
> cache this page, yet still track the hits? i.e. Strip the query
> string for the lookup and add it back on delivery.
>
> Thanks,
> Travis
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc@varnish-cache.org <mailto:varnish-misc@varnish-cache.org>
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
>
>
>
> --
> Hugues ALARY
Re: Cache page with dynamic query string [ In reply to ]
You don't need to put the query string back and even if you do so, it won't
change anything.


GET /promo.php?foo@baz.com GET /promo.php
client -----------------------------------------------> Varnish
-------------------------> backend
/promo.php?foo@baz.com /promo.php
client <---------------------------------------------- Varnish
<-------------------------- backend

On the Varnish side, the url cached is promo.php.
On the client side, the url in the browser bar will stay promo.php?
foo@baz.com and you can access the query string, in javascript.

On Tue, May 1, 2012 at 4:54 PM, Travis Crowder
<travis.crowder@spechal.com>wrote:

> Thanks for your quick reply. I appreciate it.
>
> The tracking does happen on the front end (omniture javascript), which is
> why I am weary of just stripping it out. Do you believe the approach of
> stripping and adding back in the query string is appropriate?
>
> Thanks again,
> Travis
>
>
> On 5/1/2012 6:50 PM, Hugues Alary wrote:
>
> If the tracking is done via Javascript (like google analytics) stripping
> the query string won't prevent the tracking from happening as it will
> happen on the client browser.
>
> If the tracking happens on the backend, you're out of luck.
>
> On Tue, May 1, 2012 at 4:46 PM, Travis Crowder <travis.crowder@spechal.com
> > wrote:
>
>> I am pretty sure the answer to this is: It's not possible; but I am
>> hoping to learn something new.
>>
>> There is a page, let's call it promo.php. We tell a bunch of people
>> about it and append their email address to the page for tracking ... i.e
>> promo.php?foo@bar.baz
>>
>> I believe in other to cache the page, I need to strip the query string
>> (since it will be unique). Is there a way for Varnish to cache this page,
>> yet still track the hits? i.e. Strip the query string for the lookup and
>> add it back on delivery.
>>
>> Thanks,
>> Travis
>>
>> _______________________________________________
>> varnish-misc mailing list
>> varnish-misc@varnish-cache.org
>> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>>
>
>
>
> --
> Hugues ALARY
>
>


--
Hugues ALARY
Re: Cache page with dynamic query string [ In reply to ]
#add in vcl_recv

set req.url = regsub(req.url, "(\?|&)$", "");