A. It adds various HTTP headers to responses
B. It handles user authentication
C. It defines URL patterns
D. It processes requests and responses globally before reaching views