Angenommen eine Person befindet sich auf Seite A und klickt auf einen Link der schlussendlich auf Seite C führt. C wird allrdings nicht direkt geladen, dazwischen wird noch Seite B aufgerufen. B leitet dann per 301 auf C weiter. Erhält der Webserver von C dann A oder B als Referrer?
B.
nein; die Spec schreibt es nicht eindeutig vor, aber das übliche UA-Verhalten ist es bei Redirects via HTTP den alten Referer-Header zu behalten
Diese Funktionsweise wird auch von sogenannten Dereferrer-Diensten genutzt. Beispiel-Dienst.
Nein, wenn du da die Dereferrer-Funktion aktivierst, bekommst du keine Weiterleitung per 30x-Status sondern es wird ein Dokument geladen, dass dann die Weiterleitung vornimmt. http://t1p.de/81vq liefert bspw. das folgende Dokument mit einem Status 200 aus:
<!doctype html>
<html lang="de">
<head>
<meta http-equiv="refresh" content="0; URL=http://www.google.de/" />
<link rel="shortcut icon" type="image/x-icon" href="http://t1p.de/favicon.t1p.de.ico"/>
</head>
<body>
<div
style="position: absolute; bottom: 10px; right: 10px; color: #a4a4a4;"
id="weiterleitung">
<strong>Du wirst weitergeleitet ...</strong><br />
<a style="color: #999999;" rel="nofollow" href="http://www.google.de/">http://www.google.de/</a> </div>
<script type="text/javascript">
<!--
window.location = "http://www.google.de/";
//-->
</script>
</body>
</html>