Rebuild em aplicações e sites

Hoje conversando com um um profissional de web foi me perguntado:

Caso eu tenha um site com mais de um idioma, tomando que as urls sejam iguais, como faço para que ele dentro de uma parte do site, por exemplo a página institucional, o usuário clicar para mudar o idioma como faço para retornar para a página institucional ?

Por um momento pensei rápido e logo de cara respondi:

Guardar na session a página atual e quando for modificar o idioma é só recuperar o valor.

Porém lendo o livro Ruby on Rails do Urubatan ele menciona o cabeçalho HTTP_REFERER. Após uma pesquisa no pai verifiquei que existem ferramentas que passamos todos dias que se utilizam deste cabeçalho e nem percebemos: os localizadores dos blogs. Por exemplo: ao entrar em um blog apresenta a seguinta frase: “você veio do www.google.com.br”.

Fazendo um teste no PHP para ver os dados do cabeçalho percebi a veracidade da informação. Uma solução mais refinada e com melhor desempenho.

Outras funcionalidades: retaliar links indesejáveis, exposições de mensagens, manter o usuário no site logado, etc.

Leitura(s) complementar(es):

http://php.net/manual/pt_BR/reserved.variables.server.php