What is an HTTP referrer?

When a website is visited by a user, the referrer gives an indication of the URL from which the visitor has arrived. The website operator can thus quickly and easily see the domains that users came from, e.g. Google.de.

What is a referrer?

The referrer shows the URL of the page that the user visited before following a link to the current page. The referrer is stored by the server in the server logs and can be accessed there.

In the following example we clicked on a link on the SISTRIX homepage. If we look at the server request (via Chrome Developer tools -> network) that was sent by the browser when the link is clicked, we can see the page which referred me to the site.

Response headers as shown in Chrome developer tools
Referer field in the request header.

Is it spelt ‘referer’ or ‘referrer’?

The correct spelling is referrer. In the RFC’s first version of the Hypertext Transfer Protocol (rfc1945), however, the wrong spelling, ‘referer’, crept in and was never corrected. Thus, in the official version, the spelling ‘referer’ is found. For this reason, the ‘referer’ spelling is still used by browsers today.

To make matters even more confusing, a WebAPI with the name ‘document.referrer’ can be used to return the URI (Uniform Resource Identifier) of the page that provided the user with the link to the current page.

When is no referrer transmitted?

It is quite possible that no referrer can be transmitted. This is the case, for example, when a user switches from an HTTPS page to an HTTP page. In this case, the no-referrer-when-downgrading Referrer Policy (which is again spelled grammatically correctly) applies by default.

Also, no referrer is displayed if the URL was typed in by hand or if the website was accessed via a bookmark. In both cases, there is simply no originating website that acts as an intermediary.

What is the referral string?

The referral string is used internally by Google for data collection and is no longer transmitted to websites, as was the case in the past. Nowadays, website operators only see whether a visitor comes from Google.

Before a user arrives at the clicked website (let’s take www.sistrix.de as an example) from a Google result, Google uses the ping attribute during the click to store a number of pieces of information about the clicked link. This is a number of pieces of information that tell Google how the search was done and what result was clicked on.

For example, if one clicks on the SISTRIX result in a Google search for SEO-Tool, the following information is stored by Google:

Nowadays, the referral string is only used for Google’s data collection. In the past, Google transmitted further information about the referral string to website operators, but this is no longer the case.

Nowadays, the referrer only contains the information that the visitor came from https://www.google.com/ (or .de/, etc.).

Conclusion

With the referrer, you have important information in your own server log files about the domains from which visitors came to your website and the pages they accessed within the website.

As a website operator, you have many possibilities to control the information that is provided in the request header via the referrer policy. This can either be set via your own web servers, or often also via a Content-Delivery-Network (CDN).

The referrer can play an important role in increasing and analysing the flow of visitors to a website via search engine optimisation (SEO). In order to do this, of course, you first have to be able to manipulate and interpret that data in a meaningful way..

Steve Paine