Middleware responsável por alguns comportamentos comuns e pequenos do Django, destacando-se:
- Bloqueio de acesso para navegadores definidos na settings "DISALLOWED_USER_AGENTS";
- Redirecionamento baseado nas settings "APPEND_SLASH" e "PREPEND_WWW";
- Cálculo de ETags com base na setting_ "USE_ETAGS".
Habilita o estado de transação nas views. Isso significa que a persistência em banco de dados feita nas views é feita com base no recurso de transactions.
Armazena em cache o resultado da URL após sua renderização (caso esta URL não esteja parametrizada para evitar caching).
Carrega do cache o conteúdo da URL se este existir.
Trata-se da soma dos middlewares "UpdateCacheMiddleware" e "FetchFromCacheMiddleware".
Adiciona o cabeçalho "X-View" para requisições do tipo "HEAD".
Acrescenta suporte à internacionalização.
Comprime o resultado da URL em formato GZip para navegadores que tenham suporte a isso. É uma boa opção para melhorar a performance em tempo de resposta, mas por outro lado aumenta a exigência do processador do servidor.
Acrescenta suporte a operações condicionais de requisições "GET". Isso aumenta a performance em navegadores que tenham suporte a cache local e operações condicionais. Na prática, o Django passa a responder ao navegador se a URL foi modificada ou não depois da sua última atualização e assim evita retornar código redundante.
Acrescenta o suporte padrão de autenticação da aplicação "auth".
Acrescenta proteção aos formulários contra ataques do tipo Cross Site Request Forgery. É um composto de outros dois middlewares: "CsrfViewMiddleware" e "CsrfResponseMiddleware".
Acrescenta suporte à aplicação "flatpages" que permite a criação dinâmica de páginas planas.
Acrescenta suporte a redirecionamentos da aplicação "redirects".
Acrescenta suporte a sessões.