Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用URL缩短器站点时发现HTTP_REFERER为空/空白_Php_Http_Browser_Http Headers - Fatal编程技术网

Php 使用URL缩短器站点时发现HTTP_REFERER为空/空白

Php 使用URL缩短器站点时发现HTTP_REFERER为空/空白,php,http,browser,http-headers,Php,Http,Browser,Http Headers,我有一个客户,他正试图确定流量指标,通过那些“URL缩短”网站(tinyurl.com、bit.ly和x.co)访问他的网站,具体来说,并根据流量采取行动 我们本以为HTTP_REFERER变量会保存引用资源名称,即该服务的缩短URL。相反,HTTP_REFERER字段是空的,如果在某些浏览器中读取,它实际上甚至不存在(我猜是空的?) 下面是一个尝试输入指向我的客户端站点的缩短URL的示例,该页面的名称为x.php: HTTP_CONNECTION:keep-alive HTTP_KEEP_AL

我有一个客户,他正试图确定流量指标,通过那些“URL缩短”网站(tinyurl.com、bit.ly和x.co)访问他的网站,具体来说,并根据流量采取行动

我们本以为HTTP_REFERER变量会保存引用资源名称,即该服务的缩短URL。相反,HTTP_REFERER字段是空的,如果在某些浏览器中读取,它实际上甚至不存在(我猜是空的?)

下面是一个尝试输入指向我的客户端站点的缩短URL的示例,该页面的名称为x.php:

HTTP_CONNECTION:keep-alive HTTP_KEEP_ALIVE:115 HTTP_ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7 HTTP_ACCEPT_ENCODING:gzip,deflate HTTP_ACCEPT_LANGUAGE:en-us,en;q=0.5 HTTP_COOKIE:ASPSESSIONDQADBDABT=HAEFPIOBONKMOIJFDGNHHEM HTTP_HOST:www.<myclientswebsite>.com HTTP_USER_AGENT:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) 
HTTP\u连接:保持活动HTTP\u保持活动:115 HTTP\u接受:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,应用程序/json HTTP_ACCEPT_字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7 HTTP_-ACCEPT_编码:gzip,deflate-HTTP_-ACCEPT_语言:en-us,en;q=0.5 HTTP_COOKIE:ASPSESSIONDQADBDABT=HAEFPIOBONKMOIJFDGNHHEM HTTP_主机:www.com HTTP_用户代理:Mozilla/5.0(Windows;U;Windows NT 6.1;en-US;rv:1.9.2.8)Gecko/20100722 Firefox/3.6.8(.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729)
为什么缩短的URL不会显示在标题信息中,或者我找不到正确的位置

我的客户最终希望将传入流量重定向到其网站内的适当资源和/或他拥有的其他网站


更新:我查看了他的原始流量日志,除了x.co或bit.ly等,我找不到具体的推荐人,我没有看到“/”部分。。在他的IIS6设置中,在他的web服务器上,是否有我可以更改的内容,允许我们查看和利用他正在查找的信息,或者我们只是因为HTTP重定向的设计而运气不佳?

HTTP\u REFERER是一个可选的头。在某些情况下,它们被剥离(安全软件、代理等)


在URL缩短服务的情况下,它们可能会执行头重定向,只是不包括HTTP\U REFERER

HTTP\u REFERER是一个可选的头文件。在某些情况下,它们被剥离(安全软件、代理等)


在URL缩短服务的情况下,它们可能会执行头重定向,只是不包括HTTP\U REFERER

因为缩短服务使用response
301
302
Location
,所以没有引用者。您的浏览器没有通过。

因为缩短服务使用response
301
302
Location
-没有引用。您的浏览器没有通过它。

“他们可能会执行头重定向,只是没有包含HTTP\u REFERER。”---您完全错了,是用户的浏览器发送了REFERER头,不是缩短服务。@zerkms:你是说它可以检索这些信息,还是浏览器没有编码来检索这些信息,这就是它的方式?我不知道它们是如何编码的,而且-我不记得有任何http rfc强制要求在30倍响应时不发送referer,我只是解释了现代浏览器的行为。“它们可能会执行头重定向,只是不包括HTTP_REFERER。”---你完全错了,是用户的浏览器发送了REFERER头,不是缩短服务。@zerkms:你是说它可以检索这些信息,还是浏览器没有编码来检索这些信息,这就是它的方式?我不知道它们是如何编码的,而且-我不记得有任何http rfc强制要求在30倍响应时不发送referer,我只是解释了现代浏览器的行为。你能想出什么办法来绕过浏览器不发送它的事实吗?还是我需要告诉客户忘记他想要实现什么?浏览器(我测试过的浏览器)不发送标题。这是事实。然后你应该决定做什么;-)你能想出一个办法来解决浏览器不发送的问题吗?或者我需要告诉客户忘记他想要实现的目标吗?浏览器(我测试过的浏览器)不发送标题。这是事实。然后你应该决定做什么;-)