node.js(Webビーコンピクセルに基づく)でスクリプトを作成しました。このスクリプトでは、Cookieを設定し、ピクセルをクライアントに送り返す必要があります。
私の問題は、GIFを送信する部分をコードから削除すると、Cookieが設定されないことですが、この2つを一緒にCookieを設定して、GIFを送り返す方法が見つかりません。
http = require('http');
url = require('url');
http.createServer(function(req, res){
var requestURL = url.parse(req.url, true);
if (requestURL.pathname == '/log.gif') {
// Write a Cookie
res.writeHead(200, {
'Set-Cookie' : 'id='+requestURL.query.id+'; expires=' + new Date(new Date().getTime()+86409000).toUTCString()
});
var imgHex = '47494638396101000100800000dbdfef00000021f90401000000002c00000000010001000002024401003b';
var imgBinary = new Buffer(imgHex, 'hex');
res.writeHead(200, {'Content-Type': 'image/gif' });
res.end(imgBinary, 'binary');
} else {
res.writeHead(200, {'Content-Type': 'text/plain' });
res.end('');
}
}).listen(8080);