# Filters explained

Filters provide a powerful mechanism for extending CherryPy. The aim is to provide code called at the HTTP request level itself. More specifically it means that you can write code that will be called:

- before a request is processed
- after a request has been processed
- before a response is sent to the client
- after a response is sent to the client