是referer剥离域名?

时间:2016-02-23 10:52:06

标签: curl http-referer

cURL提供了设置引用者的选项。

curl_setopt($ch, CURLOPT_REFERER, "somestring");

当通过谷歌打开网页时,我对于什么是referer设置感到困惑。例如,我在google.com中输入堆栈溢出,然后单击第一个结果。我打开SO的Google页面可能如下所示:

https://www.google.com/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&q=stack%20overflow&oq=stack%20overflow&aqs=chrome..69i57j19i60l3j69i65j0.2222j0j7

但那也是引用者?引用被剥离到只有google.com?如果浏览器将URL直接输入顶部的URL栏,该怎么办?什么将被设置为什么?

1 个答案:

答案 0 :(得分:1)

  

HTTP referer(最初是引用者的拼写错误)是HTTP   标题字段,用于标识网页的地址(即URI)   或IRI)链接到所请求的资源。

在浏览器中,浏览器设置引用者。如果您访问Google(使用您的示例)并单击链接,则会向链接/服务器发出GET请求,并且引用者将设置为:

https://www.google.com/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&q=stack%20overflow&oq=stack%20overflow&aqs=chrome..69i57j19i60l3j69i65j0.2222j0j7

引用者是指向您单击的任何链接的页面的URL。 Referer用于所有类型的HTTP请求(GETPOSTPUT等)。它可以是完全限定的域名或IP地址。

如果您未设置CURLOPT_REFERRER,则使用cURL请求时,不会设置引荐来源。某些Web应用程序需要各个页面的引用程序,因此需要进行设置。但并非在所有情况下。

如果直接在地址栏中输入了URL,则不会设置任何引用,因为请求没有引用链接。没有提到它。

更多信息:HTTP Referer