Zur Statistikfrage etwas Geschichte und eine kleine Randnotiz:
Das "Grundkompendium" von Münz ist das, wovon ich im Kern spreche. Das wurde im Anschluss mit modernem Bunt schön überarbeitet, nicht immer zum ästhetischen Nachteil, genusstechnisch funktionell wie bereits erwähnt, auch nicht immer zum Vorteil.
Der Gedanke, dass sich darum eine Fangemeinde bildet, "einschließlich Erfahrungsaustausch", Träumchen! (Das ist mein absoluter Ernst, trotz spitzfindig, provokanter Formulierung.)
Aber den Bock zum Gärtner machen, ist keine gute Idee! Ich kann mich nicht entsinnen, dass Münz je den Anspruch erhoben hat, ein allumfassendes Kompendium erschaffen zu haben.
Mit der Vokabel Statistik ist also auch eine entsprechende Zurückhaltung geboten.
Dieser Umstand ist auch der Entwicklung verschiedener Bereiche geschuldet, auf die Münz selbst auch keinen Einfluss hatte. Zwar wurden gewisse Standards "deklariert", jedoch auf unterschiedlichen Wegen implementiert. Wieviel von "verlässlichen" Werten da übrig bleibt, weißt Du so gut wie ich.
Die Atom-Klappstulle (Laptop) läuft mit Debian 11 und einem Standard-Firefox 78.7.0ESR - "ohne Mätzchen". Finde den Fehler! Die gut gemeinte "Zeichenalternativvorschläge" funktionieren, allerdings sind die Reaktionen wohl nicht immer die, welche ursprünglich beabsichtigt wurden.
Du brauchst auch kein ModRewrite, um Dein Problem zu lösen!
Mit drei Zeilen in der geliebten .htaccess
- ErrorDocument 404 /
- ErrorDocument 301 /
- ErrorDocument 302 /
reflektiert und aus dem HTTP_REFERER in einer internen Tabelle per Abgleich den Rest erledigt. Effektiv ist der 404-302/301 Bounce-Re-Bounce eine verlässliche Grösse, die Dir die nötige Information per Referenz-Variable petzt. Obendrein hast Du gleich noch die Gelegenheit eine legale/illegale Abfrage und Quelle zu erkennen und zu würdigen. Das dürfte nebst dem Indianer vom Stamm der Apachen auch bei NGINX funktionieren.
Deutlich: Mit dem obigen 3-Zeiler lasse ich per .htaccess einen Fehler machen, um mich vollpetzen zu lassen und diese Suchmaschinen geordnet zu befüttern.
- ErrorDocument 404 https://bla.irgend.wo/
- ErrorDocument 301 https://bla.irgend.wo/
- ErrorDocument 302 https://bla.irgend.wo/
Du hast diese zwei Schreibweisen (Domain anpassen), doch zwei völlig verschiedene Reaktionen bei der Interpretation.
Die Schriftleitung konstatiert: Politisch korrekt ist nicht Alles!
- curl -I -L https://bla.irgend.wo/ich/habe/keine/Ahnung/
Um der Sachlichkeit noch etwas Ausdruck zu verleihen:
Das Gros der Leserschaft greift nunmal auf den Indianer oder NGINX zurück und möchte ohne viel Aufwand viel Spass. Das ist der gemeine Werdegang, auch ich habe klein angefangen. Ob Local.Horstified, Intranet, Internet - greifen die einfachen Leute auf vorkonfigurierte Webspaces zu, fortgeschrittene Leute neigen zur eigenen Gusto-Installation auf einem (V)Server und die ganz kranken Vögel, so wie ich, bauen sich eigene Webserver (statt Apache/NGINX).
Es ist absurd zu glauben, ich hätte Begehrlichkeiten zu stänkern!
Think Zappa - it's like music - out of the norm...
Natürlich habe ich eine Sicht als Programmierer, wohl aber auch eine Sicht als Anwender. Dann gibt es seitens der zumeist unwissenden Anwenderschaft verschiedene Bedürfnisse, deren Umsetzung zunehmend gegen deren Interessen verstösst. Da erscheint mir ein vermeindlicher Fehler als kreative Abschirmmaßnahme durchaus geeignet.
In meiner Produktion baue ich mit Perl die Webservices auf und rechne die Regenerationssequenz für die Zielplattform in den entsprechend funktionalen Rahmenbedingungen zusammen, beglücke damit beispielsweise einen Browser eines beliebigen Anwenders auf einem beliebigen Gerät.
…
my $base64text = "";
…
$base64text =~ s/\n//igm;
my $content = qq~
content-type: text/html
\n\n
<!Doctype html>
<head>
<meta http-equiv="X-FRAME-OPTIONS" "SAMEORIGIN">
…
<style>
…
</style>
<script async>
if (top.location != self.location)
{ top.location=self.location; }
</script>
</head>
<frameset rows="90%,10%">
<frame style="background-image:linear-gradient(to bottom, rgba(255,0,0,.64),rgba(255,255,255,1); " src="data:text/html;charset=utf-8;base64,$base64text">
<frame src="" onMouseOver="JavaScript:window.alert('Hallo Welt!'); ">
</frameset>
</html>
~;
…
In diesem Beispiel siehst Du, was man "auch" machen kann, um sich zu behelfen. Laut Bedienungsanleitung wird dieses Verfahren ja vorzugsweise bei eingebetteten Grafiken erwähnt. Daß es sich auch auf beliebgige andere Datenformate anwenden lässt, vermisse ich irgendwie im Bewusstsein - auch um den damit einhergehenden Spassfaktor. Laut Anleitung funktionieren auch kein Frames in HTML5, wieso geht das?!
Sonntagsgrüsse
von der Bastelstunde