Request and response VCL objectsΒΆ

In VCL, there several important objects that you need to be aware of. These objects can be accessed and manipulated using VCL.

The request object. When Varnish has received the request the req object is created and populated. Most of the work you do in vcl_recv you do on or with the req object.
The backend request object. Varnish constructs this before sending it to the backend. It is based on the req object.
The backend response object. It contains the headers of the object coming from the backend. If you want to modify the response coming from the server you modify this object in vcl_backend_response.
The HTTP response right before it is delivered to the client. It is typically modified in vcl_deliver.
The object as it is stored in cache. Read only.