node.js - 使用带有 http 分块传输的尾部 header 。如何使用它设置cookie

标签 node.js http cookies header http-1.1

使用预告片我试图在页面流式传输开始后设置一个 cookie。下面的代码尝试设置 cookie。它似乎返回了正确的响应,但未在浏览器(ff 和 chrome)中设置 cookie。

var express = require('express'),
    http = require('http'),
    app = express(),
    server;

app.use(app.router);

app.all('*', function(req, res) {
    res.setHeader('Trailer', 'Set-Cookie');
    res.setHeader('Content-Type', 'text/plain');
    res.write("hi this is ogkla");
    res.addTrailers({
        'Set-Cookie': "val=ogkla"
    });
    res.end();
});
server = http.createServer(app).listen(80);
module.exports = server;

回应

curl -iv --raw 'http://localhost/'
* Adding handle: conn: 0x7fd87180aa89
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7fd87180aa89) send_pipe: 1, recv_pipe: 0
* About to connect() to localhost port 80 (#0)
*   Trying ::1...
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.30.0
> Host: localhost
> Accept: */*
> 
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< X-Powered-By: Express
X-Powered-By: Express
< Trailer: Set-Cookie
Trailer: Set-Cookie
< Content-Type: text/plain
Content-Type: text/plain
< Date: Wed, 26 Feb 2014 06:45:43 GMT
Date: Wed, 26 Feb 2014 06:45:43 GMT
< Connection: keep-alive
Connection: keep-alive
< Transfer-Encoding: chunked
Transfer-Encoding: chunked

< 
10
hi this is ogkla
0
Set-Cookie: val=ogkla

* Connection #0 to host localhost left intact

我这里做错了。需要帮助才能找到它。

最佳答案

据我所知,大多数用户代理会解析预告片,但不会处理它们。

关于node.js - 使用带有 http 分块传输的尾部 header 。如何使用它设置cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22033933/

相关文章:

javascript - Node.js setTimeout 不等待

node.js - 如何使用 Node 配置ssl

javascript - 导入的常量未定义

http - std::io::TcpStream::read_as_string 返回空字符串

javascript - 在 iBooks 的 epub3 中设置 cookie

javascript - Bootstrap 模式和 cookie

javascript - 如何检查子对象中是否包含 id?

json - 无法解码 HTTP 请求中的 JSON

http - 请求 http.GET 时发送的 Angular2 OPTIONS 方法

javascript - 如何设置 cookie 来记住打开的选项卡?选项卡是使用 Coldfusion 和 Javascript 创建的