I've been looking into some examples of VCL files for Varnish 3.x and I stumbled upon this piece already some times, and it's been making me scratch my head:
sub vcl_recv {
...
if (req.request != "GET" &&
req.request != "HEAD" &&
req.request != "PUT" &&
req.request != "POST" &&
req.request != "TRACE" &&
req.request != "OPTIONS" &&
req.request != "DELETE") {
return (pipe);
}
...
}
Basically, I don't see what would be the point on piping to the backend unknown requests? Is this just in case some weird web app/protocol so it'd work?
Why is it better to pipe this request than to 'pass' them?
I'd love if somebody could explain the usecase for this piece.