Hi!
Zur Zeit arbeite ich an einem Vim-Makro, das den Quelltext irgendeiner Webseite in die in der Regel dort vorhandenen URLs umwandeln soll. Problematisch sind nur die relativen URL-Angaben, weil ich nicht weiß, auf welche URL sich diese beziehen.
Das gleiche Lernpotential haben anscheinend auch die Autoren von in der Regel unerwünschten Bots. Die stückeln auch relative URL-Angaben irgendwie zusammen, nur nicht wie vorgesehen, und spammen damit als erstes das Error-Log voll.
Wenn ich also irgendeine Webseite aufrufe und dann dessen Quelltext, beziehen sich dann die relativen URL-Angaben immer auf die in der Adresszeile angezeigte URL oder gegebenenfalls auf die ursprüngliche URL?
Was soll denn die ursprüngliche URL konkret sein? Stell dir die Frage mal mit dem Hintergrund, dass du einem anderswo befindlichen Link folgst (Suchmaschine vielleicht) und "mittendrin" in einem Angebot auf einer beliebigen Seite landest. Wo ist dann deine ursprüngliche URL. Und warum sollte der Aufruf dieser Seite andere behandelt werden als wenn er über einen internen Link erfolgte?
Im Web wird stets nur der Request und die zugehörige Response zusammen behandelt und alles andere davor ist irrelevant, weil es nicht geschehen sein muss, um eine bestimmte Seite aufzurufen.
Es gibt ja Webseiten, wo die Webadresse von beispielsweise ModRewrite in die eigentliche ursprüngliche URL dieser Seite umgewandelt wird. So kann es sein, dass die falsche Webadresse Ordner enthält, die bei der ursprünglichen URL gar nicht vorhanden sind.
Das wäre dann aber ein Fehler, den der mod_rewrite-Konfigurierende nicht beachtet hat. Ein Browser bekommt von einem mod_rewrite nichts mit. Wenn also jemand mod_rewrite einsetzt, muss er dafür sorgen, dass relative Verweise zur aufgerufenen URL passen.
Wenn aber der Browser die nicht ursprüngliche URL mit den nicht vorhandenen Ordnern anzeigt, worauf beziehen sich dann die relativen URL-Angaben im Quelltext? Auf die angezeigte Weiterleitungs-URL oder auf die mir unbekannte ursprüngliche URL?
Auch wenn eine Weiterleitung ausgeführt wurde, interessiert sich der Browser nur für die URL des neuen Requests und nicht für den ider die Requests die im Weiterleitungen als Antwort eingebracht haben. Denn derjenige, der gleich auf das neue Ziel geht, weiß von einer URL mit Weiterleitung nichts. Er muss genauso wie der Weitergeleitete den Inhalt der vorliegenden Seite interpertieren.
Falls auf die unbekannte ursprüngliche URL; wie kann ich diese beispielsweise mit dem FireFox oder dem Internet Explorer oder notfalls irgend einem anderen Browser ermitteln? Oder steht diese ursprüngliche URL sogar irgendwo im Quelltext der Webseite?
"Ursprüngliche URLs" könnte es in unendlicher Anzahl geben. Wie gesagt, interessiert nicht eine einzige davon.
Lo!