Caching POSTs

Ken Brownfield kb+varnish at slide.com
Fri Nov 6 20:21:14 CET 2009


I agree with Rtsh: the sole intent of POST is to write data, and there  
is simply no reason to use a POST in any other circumstance.  I doubt  
you'd find any out-of-the-box caching system that doesn't simply short- 
circuit POSTs (I've never seen one that doesn't).

Christian Kratzer, if by "webservices" you mean the prototypical  
Web2.0/AJAX POSTs, these cannot be cached -- it's a POST for a  
reason.  If it's a POST for no reason, then the web developer needs an  
HTTP refresher. :) :)

An HTTP/POST interface to a database is a poor choice from both a  
query performance and an HTTP interoperability standpoint -- the worst  
of both worlds.  The "right" solution would probably involve the  
database server (that handles the HTTP/POST) implementing a simple  
query cache, maybe with memcached.  Or perhaps on your front-ends in  
the spirit of a PHP/memcached/MySQL setup.

I'm not sure I can think of an easy option for you, other than hand- 
patching Varnish. :(

My US$0.02,
-- 
Ken

On Nov 6, 2009, at 7:57 AM, Christian Kratzer wrote:

> Hi,
>
> On Fri, 6 Nov 2009, rtshilston at gmail.com wrote:
>
>> I thoroughly disagree with this use of HTTP.  If a request makes an  
>> impact on a system, then it should use POST (eg login, pay,  
>> delete).  However, if it has no write-behaviour (other than,  
>> perhaps, logging) then it must be GET.
>
> This kind of behaviour seems quite frequent in the context of  
> webservices which are often POST only.
>
> This is of course not the classic use case of varnish between client  
> browsers and webservers.
>
> Greetings
> Christian Kratzer
> CK Software GmbH
>
>
>>
>> If you follow this, then varnish will work fine.
>>
>> Can you explain more about your actions?   If you're using a  
>> processing server to build reports then GET should be fine.
>>
>> Rtsh
>>
>> -- Sent from my Palm Pr?
>> Rob Ayres wrote:
>>
>> 2009/11/6 Tollef Fog Heen <tfheen at redpill-linpro.com>
>>
>> ]] Rob Ayres
>>
>>
>>
>> | I want to cache POSTs but can't get varnish to do it, is it  
>> possible? If it
>>
>> | makes it any easier, all requests through this cache will be of  
>> POST type.
>>
>>
>>
>> No, you can't cache POSTs.  It doesn't make any sense to do so.
>>
>>
>> We have a processing server and a database server. The processing  
>> server makes its requests to the database server by means of a  
>> POST. There is enough duplication in the POST requests to have made  
>> it worth having a caching server between the two.
>>
>>
>>
>>
>>
>
> -- 
> Christian Kratzer                      CK Software GmbH
> Email:   ck at cksoft.de                  Schwarzwaldstr. 31
> Phone:   +49 7452 889 135              D-71131 Jettingen
> Fax:     +49 7452 889 136              HRB 245288, Amtsgericht  
> Stuttgart
> Web:     http://www.cksoft.de/         Geschaeftsfuehrer: Christian  
> Kratzer_______________________________________________
> varnish-misc mailing list
> varnish-misc at projects.linpro.no
> http://projects.linpro.no/mailman/listinfo/varnish-misc

-- 
kb




More information about the varnish-misc mailing list