Então, só pra esclarecer mais um pouco.
Quando digitamos no browser a url da página de login, o browser faz uma requisição ao servidor, este retorna a página login.xhtml para o browser e ele a renderiza. Aí foi a PRIMEIRA requisição da página de login.
Se o usuário existe, o browser faz uma requisição ao servidor pela página livro.xhtml.
Se houver algum problema com a autenticação do usuário, os dados informados ficarão expostos e podem ser capturados por alguém. Mas se usarmos o redirect = true
dispararemos uma SEGUNDA requisição da página de login e, assim, os dados serão apagados do browser. É mais ou menos isso que acontece??