Cookies e Tomcat

2 respostas
T

Depois de apanhar um pouco com cookies (queria usar response.addCookie e ele me lançava uma exceção), fui ler o fonte do Tomcat (open-source é legal por causa disso…) e descobri o seguinte:

Caracteres proibidos em cookies (response.addCookie) para versões anteriores do Tomcat 5.0.X
( ) < > @ , ; : \ " / [ ] ? = { } espaço \t

Caracteres proibidos em cookies para a versão 5.0.28
,;

Por via das dúvidas, resolvi usar o cookie do jeito que queria usar (valores separados por vírgulas, e alguns valores continham espaços); só que codifiquei o cookie em hexadecimal antes, para evitar problemas. (Aí o cookie só tinha valores de 0 a 9 e de A a F, sem caracteres que dão problemas com o Tomcat. Como não é difícil escrever um Javascript que converte o hexadecimal, então…

2 Respostas

Rafael_Steil

…entao encode em base64 :mrgreen:

Rafael

T

Eu já escrevi rotinas para conversão de dados para Base-85 e Base-64 em javascript, mas devido ao tamanho reduzido dos dados, preferi deixar em hexa mesmo, que fica mais fácil.
É que alguns dos dados desse cookie precisam ser interpretados no próprio Javascript.

  • Para quem está lendo este post e quer saber o que é “base-64” e “base-85”:
    Base-85 é um esquema de converter bytes para ASCII, que converte grupos de 4 bytes para 5 caracteres (dá 6,4 bits por caracter) e é usado pelo Adobe PostScript.
    Base-64, que é mais conhecido, converte grupos de 3 bytes para 4 caracteres (6 bits por caracter). E Hexadecimal converte 1 byte em 2 caracteres (isso dá 4 bits por caracter).
Criado 14 de fevereiro de 2005
Ultima resposta 15 de fev. de 2005
Respostas 2
Participantes 2