如何在HTTP响应中包含cookie(例如图像请求)?

时间:2011-09-15 19:49:39

标签: http

我想知道像Double-Click这样的公司如何在他们的图像响应中包含一个cookie来跟踪用户。同样,图像(例如智能像素)如何将信息发送回服务器?

如果可能的话,请提供一个脚本示例(任何语言都可以)[注意:如果这是解决问题的问题,那么请说明如何使用APACHE完成此操作]。

干杯, 罗布

2 个答案:

答案 0 :(得分:0)

它们如何包含cookie?配置服务器,可能通过脚本发送带响应的cookie。图像是http请求,遵循http协议,没有什么神奇的。

“智能像素”仅通过浏览器必须发送到服务器的请求来传达其信息,以便加载图像。有关用户/浏览器的信息,可以通过javascript收集并嵌入到网址中。

答案 1 :(得分:-1)

要在php中执行此操作,您需要使用setCookie函数。

<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>

该代码取自我上面引用的php文档。基本上,这会将Set-Cookie添加到HttpResponse标头中,例如:Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1

请参阅http://en.wikipedia.org/wiki/List_of_HTTP_header_fields并搜索Set-Cookie

另外,在PHP等脚本语言中,请确保在呈现任何内容之前设置标题。这是因为HTTP标头是响应中发送的第一个内容,因此只要您编写内容,标题就应该已经写好了。

PHP:setcookie doc的另一个引用:

  

与其他标题一样,Cookie必须在您的任何输出之前发送   脚本(这是一个协议限制)。这要求你放置   在任何输出之前调用此函数,包括和    标签以及任何空格。