I Filter possono avere svariati usi:
- blocco delle richieste in base a "qualcosa"
- compressione della response (es. in gzip o deflate), ovviamente ci vuole il supporto del browser come indicato dal browser stesso nella request con l'header Accept-Encoding
- encryption/decryption di request e/o response
- logging/auditing di tutte le richieste
- ispezione della request per estrarre/dedurre informazioni da passare in request scope alla risorsa che gestisce la request (es. Servlet). Ad esempio ispezionare il IP remoto e con un servizio di GeoIP dedurre se es. proviene dall'Italia. Oppure dedurre la lingua preferita (es. a fini statistici)
- aggiungere nella response dei header e/o cookie "generali" di interesse per il funzionamento della web application
E sicuramente altro.
A parte alcuni scenari semplici, per gli altri c'è da "studiare" ....