I am not able to understand how banning works in Varnish. From the term and thinking of difference between purge and ban it seems that
- purge invalidates cache and next request goes to backend and gets cached again.
- BAN , bans a url. as in it invalidates cache and not just next but all coming requests start going to backend.
Please clarify.
Also, banning algo is defined as
Each object in the cache always points to an entry on the ban-list. This is the entry that they were last checked against. Whenever Varnish retrieves something from the cache, it checks if the objects pointer to the ban list is point to the top of the list. If it does not point to the top of the list, it will test the object against all new entries on the ban list and, if the object did not match any of them, update the pointer of the ban list.
If anyone gets this..please explain. it will be very helpful.