gpt4 book ai didi

cookies - 为什么非法 cookie 由浏览器发送并由网络服务器接收(rfc 2109、2965)?

转载 作者:行者123 更新时间:2023-12-04 19:21:43 25 4
gpt4 key购买 nike

根据 RFC 2109,2965 cookie 的值可以是 HTTP token 或带引号的字符串,并且 token 不能包含非 ASCII 字符。

  • Cookie 的 RFC 2109RFC2965
  • HTTP 的 RFC 2068 和 2616 token 定义:http://tools.ietf.org/html/rfc2616#page-16

  • 但是我发现 Firefox 浏览器(3.0.6)按原样发送带有 utf-8 字符串的 cookie
    和我测试的三个 Web 服务器(apache2、lighttpd、nginx)将这个字符串按原样传递给
    应用。

    例如,来自浏览器的原始请求:
    $ 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

    以及 apache、nginx 和 lighttpd 的原始响应 HTTP_COOKIE CGI变量:
    wikipp=1234; wikipp_username=ארתיום

    我想念什么?

    最佳答案

    RFC 2109 (Feb 1997) 已过时并被 RFC 2965 取代(2000 年 10 月),根据 Internet Official Protocol Standards (STD 1, RFC 5000) .

    您可能还对最近的 March 7, 2010 draft 感兴趣修订 2965。

    唯一的定义 token 2965年是:

    informally, a sequence of non-special, non-white space characters



    我不会认为该定义不允许使用整个 UTF-8 - 只有可能被误认为是控制/语法字符的字符。

    关于cookies - 为什么非法 cookie 由浏览器发送并由网络服务器接收(rfc 2109、2965)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890624/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com