Selon la RFC 2109, la valeur du cookie 2965 peut être un jeton HTTP ou une chaîne entre guillemets, et le jeton ne peut pas inclure de caractères non-ASCII.Pourquoi les cookies illégaux sont-ils envoyés par le navigateur et reçus par les serveurs Web (RFC 2109, 2965)?
- RFC Cookie 2109 et RFC2965
- RFC HTTP 2068 et 2616 définition jeton: http://tools.ietf.org/html/rfc2616#page-16
Cependant, j'avais trouvé que le navigateur Firefox (3.0.6) envoie des cookies avec AS- chaîne utf-8 est et trois serveurs Web que j'ai testés (apache2, lighttpd, nginx) transmettent cette chaîne telle quelle à l'application .
Par exemple, la requête brute à partir du navigateur:
$ nc -l -p 8080
GET /hello HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.9) Gecko/2009050519 Firefox/2.0.0.13 (Debian-3.0.6-1)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1255,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: wikipp=1234; wikipp_username=ארתיום
Cache-Control: max-age=0
Et la réponse première de apache, nginx et lighttpd HTTP_COOKIE
variable CGI:
wikipp=1234; wikipp_username=ארתיום
Que dois-je manquer?
C'est l'Internet. Les gens utilisent les standards pour allumer les autres sur Usenet, pas pour implémenter leur logiciel. – jrockway
@jrockway Je comprendrais que ce soit un serveur web, mais les 3 plus populaires (Linux)? – Artyom