Skip to content

Possibilitar fazer cache do site #438

@robertatakenaka

Description

@robertatakenaka

NOTA: NAO USAR ROTA COM IDIOMA POIS ISSO IMPACTARÁ DIRETAMENTE NA APP DE CONTAGEM DE ACESSOS QUE NÃO ESTÁ PREPAPRADA PARA RECONHECER ESTE PADRÃO DE ROTA

O site www.scielo.br na sua interface tem a alternância de idioma (português, inglês e espanhol). Na época do desenvolvimento, foi definido o uso de Cookie de sessão. Pode ser visto usando o comando: curl -I https://www.scielo.br
vary: Cookie
set-cookie: language=pt_BR; Path=/
set-cookie: opac_session=.eJwtjMEOgjAQBf9lzx4WoQZ6NPFuOJuQbdlWY9MStj0R_t2iHmde5m1gZXVTTm-OoGGgs-OudTwPaFrF1FlLqBQq42zPRmEz9zxf4ASBoq_Fkqfr-EcBvcH35xZ9eMmzepYDZaFHQXRNCtX9Gg33tObiy7EwCez7B0awLFg.aRZXJQ.aAolXnrkD8JgsGS7gaBKBuwtsjk; Domain=www.scielo.br; Secure; HttpOnly; Path=/

O cookie language=pt_BR está bloqueando o cache no BunnyCDN e no Varnish, porque o servidor passa a tratar a página como personalizada por idioma.

Por que o cookie de idioma impede o cache?
O backend envia:
set-cookie: language=pt_BR
E também:
Vary: Cookie

Isso significa para qualquer CDN e para o Varnish:
“Essa página muda dependendo dos cookies do cliente.”

Ou seja, o BunnyCDN e o Varnish entendem que:
• Usuário sem cookie → recebe idioma padrão
• Usuário com cookie → recebe versão em pt_BR
• Outro cookie → poderia receber outra versão
Por isso ele não pode cachear — senão poderia servir conteúdo do idioma errado para outro visitante.

Foi feito teste no varnish desativando o cookie e a alternância entre idiomas não funciona.

Opção para resolver isso é usar header Accept-Language, mas sem cookie:
• O Varnish/Bunny podem cachear
• Conteúdo não depende de cookie

Issue 355

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions