推荐请求

时间:2014-08-07 17:05:28

标签: java servlets request http-referer

我有一个我一直在研究的servlet调查应用程序。我的问题是request.getHeader('referer')第一次访问应用程序时没有获得正确的引用URL 然而,第二次(或任何其他时间)它确实得到正确的。

应用程序第一次要求用户进行调查,然后将其重定向到资源URL。第二次它只将用户重定向到资源,因为他们已经进行了调查。我有2个处理take.survey逻辑的java文件,第二个只是重定向和记录信息(survey.logic

两个例程文件都使用request.getHeader('referer')。第一次要求用户参加调查(take.survey)。

正如我之前所说,应用程序将在数据库中记录目标网址,而不是引荐网址。第二次它顺利运行,并获得正确的推荐信息。

示例:

我正在从具有以下地址的页面调用该应用程序:

refering page:   thispage

该应用程序位于:

app/take.survey

以下链接已插入thispage以访问该应用:

app/take.survey?refurl=http://google.com

结果:

第一次点击链接时,它会记录:app/take.survey?refurl=http://google.com 第二次点击链接时,它会获得正确的值:thispage (url) 第三次正确的值,依此类推。

同样,两个文件都使用:request.getHeader('referer')来获取引荐值。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

当您使用window.open()打开窗口时,

推荐人不适用,只有在点击常规链接或表单提交时才会应用。推荐人是您点击链接或提交按钮时所在的网站。因此,如果他们来自谷歌,这就是推荐人说谷歌的原因。首次进入您的网站,引荐来源将始终为空(空字符串或空),因为他们在地址栏中键入地址(与通过JS打开弹出窗口时相同)或其他某个网站,因为他们通过您的网站来到您的网站一条链接。首次进入网站,推荐人不会成为您的网页之一。