You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by Holger Bast <ba...@mpi-sb.mpg.de> on 2005/07/12 20:26:41 UTC
Fehlende HTTP Header + beliebiger Text an URL anhängbar
Hallo!
Folgende ZWEI Probleme bereiten mir seit einiger Zeit Kopfzerbrechen. Das
lustige ist, sie scheinen erstmal nichts miteinander zu tun zu haben,
kommen aber, so meine Erfahrung bisher, immer nur zusammen vor.
--------------------------------------------------------------------------
(1) Unter bestimmten Domains, z.B. http://www.mpi-inf.mpg.de, kommen alle
HTML-Seiten ohne einige der Standard-Header zurück, insbesondere ohne
* Last-Modified
* ETag
* Content-Length
Dasselbe auch z.B. bei http://www.uni-karsruhe.de (ich checke die Info mit
wget --spider -S http://...). Bei den allermeisten Domains dagegen werden
diese Header geschickt.
(2) Genau bei den o.g. Domains gibt es nun auch folgendes Phänomen. Hinter
jede korrekte URL, lässt sich, nach einem Slash, beliebiger Text anhängen,
also z.B.
http://www.mpi-inf.mpg.de/about/index.html/und/noch/irgend/was/XYZ
und man bekommt trotzdem noch die eigentliche Seite, in dem Fall
http://www.mpi-inf.mpg.de/about/index.html
--------------------------------------------------------------------------
Beide Punkte machen Probleme beim Crawlen: (1) weil ohne das Last-Modified
jeder Re-Crawl wieder alles von neuem crawlt; (2) weil der Crawler so in
eine nicht leicht zu bemerkende Endlosschleife kommen kann.
Bin dankbar für jeden Hinweis, was das Problem sein könnte!
Holger
PS: In das httpd.conf file für die www.mpi-inf.mpg.de Domain habe ich
Einsicht, aber keine Ahnung was da für (1)+(2) verantwortlich sein könnte.
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Martin Ebert <ma...@wb-online.de>.
Holger, liebe Liste,
> Dann müsste aber doch PHP auch funktionieren, oder?
Kaffeesatz.
Ich würde Extremtests vorschlagen: Von links-aussen und
rechts-außen langsam eingrenzen.
Mit freundlichen Gruessen, Martin Ebert
--
http://www.klug-suchen.de
http://www.bahnsuche.de
http://www.ddr-suche.de
http://www.wb-online.de
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Martin Ebert <ma...@wb-online.de>.
Holger, liebe Liste,
>> Ich würde Extremtests vorschlagen: Von links-aussen und rechts-außen
>> langsam eingrenzen.
> Hast du einen konkreten Vorschlag, Martin?
Verstand ich recht, dass *.jpg korrekt ausgeliefert wird?
Your choice.
Mit freundlichen Gruessen, Martin Ebert
--
http://www.klug-suchen.de
http://www.bahnsuche.de
http://www.ddr-suche.de
http://www.wb-online.de
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Emilio Paolini <ep...@im-netz.de>.
> On 12.07.2005, at 23:27, Holger Bast wrote:
> ><? echo "Ich bin ein PHP Test"; ?>
> >
> >aber der Browser zeigt NIX.
>
> Seltsam, vielleicht <?php ? Sagt das ErrorLog was?
Ja, genau, versuch mal, mit '<?php' einzuleiten ...
Mit freundlichen Grüßen
Emilio Paolini
--
| Emilio Paolini <ep...@IM-NETZ.de>......................... 10553 Berlin
| IM-NETZ GROUP, Berlin......................... http://www.IM-NETZ.de
| Telekom .................... ++49 30 3900 1600 (Q) und 0177 451 2000
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Emilio Paolini <ep...@im-netz.de>.
Holger Bast <ba...@mpi-sb.mpg.de> schrieb am 13.07.2005 gegen 00:17:37 Uhr (+0200):
> Es geht keins von den vier folgenden
>
> <? echo "Ich bin ein PHP Test"; ?>
> <?php echo "Ich bin ein PHP Test"; ?>
> <script language="php">echo "Ich bin ein PHP Test";</script>
> <% echo "Ich bin ein PHP Test"; %>
Hmm, dann ist es wohl nicht php. Kann es sein, das die Seiten über einen
anderen Parser laufen? SSI vieleicht?
Mit freundlichen Grüßen
Emilio Paolini
--
| Emilio Paolini <ep...@IM-NETZ.de>......................... 10553 Berlin
| IM-NETZ GROUP, Berlin......................... http://www.IM-NETZ.de
| Telekom .................... ++49 30 3900 1600 (Q) und 0177 451 2000
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Holger Bast <ba...@mpi-sb.mpg.de>.
> Seltsam, vielleicht <?php ? Sagt das ErrorLog was?
Es geht keins von den vier folgenden
<? echo "Ich bin ein PHP Test"; ?>
<?php echo "Ich bin ein PHP Test"; ?>
<script language="php">echo "Ich bin ein PHP Test";</script>
<% echo "Ich bin ein PHP Test"; %>
(stehen in http://www.mpi-inf.mpg.de/~bast/test[2345].html)
Error Log ist eine gute Idee, da frag' ich morgen mal nach.
> Ich würde Extremtests vorschlagen: Von links-aussen und rechts-außen
> langsam eingrenzen.
Hast du einen konkreten Vorschlag, Martin?
Thanks,
Holger
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Erik Abele <er...@codefaktor.de>.
On 12.07.2005, at 23:27, Holger Bast wrote:
> Lieber Emilio, Erik, Martin,
>
>> Gehe ich recht in der Annahme, daß all eure .html-Seiten (nicht nur
>> z.B. .php) von PHP interpretiert werden (sprich in anderen .html-
>> Seiten der WebSite sind dann z.B. PHP-Schnippsel drin)?
>
> Dann müsste aber doch PHP auch funktionieren, oder?
>
> Unter http://www.mpi-inf.mpg.de/~bast/test2.html
>
> steht die Datei mit dem Inhalt
>
> <? echo "Ich bin ein PHP Test"; ?>
>
> aber der Browser zeigt NIX.
Seltsam, vielleicht <?php ? Sagt das ErrorLog was?
> Aber definitiv richtig, dass es nur bei HTML-Seiten passiert.
>
> Die einzige Zeile, die ich in der httpd.conf zu PHP finde ist
>
> LoadModule php5_module libexec/libphp5.so
>
> Inwiefern meint ihr könnte das für die Situation verantwortlich sein?
Hängt irgendwie damit zusammen. Vielleicht ein Glitch in der Matrix?
> Sollte ich vielleicht mal versuchen, die Zeile entfernen zu lassen
> (wenn
> PHP sowieso nicht geht).
Wenn es sowieso keiner verwendet, macht es dort drin natürlich nicht
unbedingt Sinn :) Keine Ahnung inwieweit das Ergebnis den Aufwand (*)
rechtfertigt?
Cheers,
Erik
(*) Ich hoffe Du musst vorher kein Formular oder so ausfüllen. Alles
schon erlebt ;)
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Holger Bast <ba...@mpi-sb.mpg.de>.
Lieber Emilio, Erik, Martin,
> Gehe ich recht in der Annahme, daß all eure .html-Seiten (nicht nur
> z.B. .php) von PHP interpretiert werden (sprich in anderen .html-
> Seiten der WebSite sind dann z.B. PHP-Schnippsel drin)?
Dann müsste aber doch PHP auch funktionieren, oder?
Unter http://www.mpi-inf.mpg.de/~bast/test2.html
steht die Datei mit dem Inhalt
<? echo "Ich bin ein PHP Test"; ?>
aber der Browser zeigt NIX.
Aber definitiv richtig, dass es nur bei HTML-Seiten passiert.
Die einzige Zeile, die ich in der httpd.conf zu PHP finde ist
LoadModule php5_module libexec/libphp5.so
Inwiefern meint ihr könnte das für die Situation verantwortlich sein?
Sollte ich vielleicht mal versuchen, die Zeile entfernen zu lassen (wenn
PHP sowieso nicht geht).
Holger
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Erik Abele <er...@codefaktor.de>.
On 12.07.2005, at 22:45, Holger Bast wrote:
> Lieber Erik, Lieber Martin, LiLi,
>
>
>> Mache den Gegenversuch:
>> Eine klitzekleine Seite ohne jedes PHP, ohne SSI, ohne irgendwas.
>> Vielleicht nur "Ich bin ein Test."
>
> Hab ich' gleich gemacht -> http://www.mpi-inf.mpg.de/~bast/test.html
>
> Selbes Problem, d.h. wget -S http://... gibt mir NUR
>
> HTTP request sent, awaiting response...
> 1 HTTP/1.1 200 OK
> 2 Date: Tue, 12 Jul 2005 20:17:31 GMT
> 3 Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.22 OpenSSL/
> 0.9.6a
> 4 Keep-Alive: timeout=15, max=100
> 5 Connection: Keep-Alive
> 6 Content-Type: text/html
> 200 OK
>
> (Übrigens egal ob in dem test.html steht "Ich bin ein Test" oder
> "<h1>Ich
> bin ein Test</h1>" oder was auch immer für HTML.)
Gehe ich recht in der Annahme, daß all eure .html-Seiten (nicht nur
z.B. .php) von PHP interpretiert werden (sprich in anderen .html-
Seiten der WebSite sind dann z.B. PHP-Schnippsel drin)?
Das wäre nämlich dann die Lösung hier... einfach mal explizit
abschalten oder von mir aus mal kurz eine andere Endung probieren,
wie .txt, .xhtml, .gif ... für ein .jpg funktioniert es z.B., siehe
unten...
Cheers,
Erik
[erik@Odin ~]% curl -I 'http://www.mpi-inf.mpg.de/~hannah/personal/
pictures/holger.Jul03.jpg'
HTTP/1.1 200 OK
Date: Tue, 12 Jul 2005 20:42:52 GMT
Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.22 OpenSSL/0.9.6a
Last-Modified: Fri, 23 Jan 2004 15:43:23 GMT
ETag: "2280f893-94de-4011411b"
Accept-Ranges: bytes
Content-Length: 38110
Content-Type: image/jpeg
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Emilio Paolini <ep...@im-netz.de>.
> Hab ich' gleich gemacht -> http://www.mpi-inf.mpg.de/~bast/test.html
>
> Selbes Problem, d.h. wget -S http://... gibt mir NUR
>
> HTTP request sent, awaiting response...
Kann es sein, das dein Apache so konfiguriert ist, dass er alles (also auch
.html) über die PHP-Engine schickt?
Mit freundlichen Grüßen
Emilio Paolini
--
| Emilio Paolini <ep...@IM-NETZ.de>......................... 10553 Berlin
| IM-NETZ GROUP, Berlin......................... http://www.IM-NETZ.de
| Telekom .................... ++49 30 3900 1600 (Q) und 0177 451 2000
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Holger Bast <ba...@mpi-sb.mpg.de>.
Lieber Erik, Lieber Martin, LiLi,
> Mache den Gegenversuch:
> Eine klitzekleine Seite ohne jedes PHP, ohne SSI, ohne irgendwas.
> Vielleicht nur "Ich bin ein Test."
Hab ich' gleich gemacht -> http://www.mpi-inf.mpg.de/~bast/test.html
Selbes Problem, d.h. wget -S http://... gibt mir NUR
HTTP request sent, awaiting response...
1 HTTP/1.1 200 OK
2 Date: Tue, 12 Jul 2005 20:17:31 GMT
3 Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.22 OpenSSL/0.9.6a
4 Keep-Alive: timeout=15, max=100
5 Connection: Keep-Alive
6 Content-Type: text/html
200 OK
(Übrigens egal ob in dem test.html steht "Ich bin ein Test" oder "<h1>Ich
bin ein Test</h1>" oder was auch immer für HTML.)
> "zurückgehen" könnte die Vokabel sein.
Die Bemerkung hatte ich nicht verstanden, Martin. Kannst du's mir nochmal
erklären?
Danke euch!
Holger
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Martin Ebert <ma...@wb-online.de>.
Holger, liebe Liste,
> Wie Martin schon angemerkt hat, sind die Seiten nicht unbedingt
> statisch.
> Vielleicht liegt die *PHP*-Seite ja statisch auf der Harddisk aber es
> ist eben PHP und das ist nun mal dynamisch :)
Genau das ist Dein "Problem": Apache "weiss", dass da etwas irgendwie
Unberechenbares kommt. Und genau so verhält er sich dann ja auch.
Völlig konform.
Mache den Gegenversuch:
Eine klitzekleine Seite ohne jedes PHP, ohne SSI, ohne irgendwas.
Vielleicht nur "Ich bin ein Test."
Zwar kann ich nicht in Deinen Server hineinriechen - alles ist also
Kaffeesatzleserei. Aber ich behaupte mal: Bei dem o.g. Test sagt Apache,
dass er wirklich alles über das Dokument weiss.
Mit freundlichen Gruessen, Martin Ebert
--
http://www.klug-suchen.de
http://www.bahnsuche.de
http://www.ddr-suche.de
http://www.wb-online.de
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Erik Abele <er...@codefaktor.de>.
On 12.07.2005, at 21:10, Holger Bast wrote:
> Hallo Erik,
>
> vielen Dank für die schnelle Antwort.
>
>> Die Erklärung ist einfach: es handelt sich um _dynamisch generierte_
>> Seiten, also um Seiten die nicht so wie sie zum Client geschickt
>> werden
>> schon auf der Harddisk zur Verfügung stehen sondern aus [...]
>
> Deine Erklärung ist gut, zumal sie (1)+(2) auf einmal erklärt.
>
> Aber die Seiten unter z.B. http://www.mpi-inf.mpg.de sind alle
> STATISCH,
> d.h. es wird ganz gewöhnlich das entsprechende File aus dem
> DocumentRoot
> directory zurückgegeben.
Wie Martin schon angemerkt hat, sind die Seiten nicht unbedingt
statisch.
Vielleicht liegt die *PHP*-Seite ja statisch auf der Harddisk aber es
ist eben PHP und das ist nun mal dynamisch :)
Wäre es eine reine *HTML*-Seite, sähe dies ganz anders aus... anders
lässt sich übrigens die Eigenschaft 'URL+Anhang' auch nicht erklären,
statische Seiten 'können' das nämlich nicht...
Cheers,
Erik
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Martin Ebert <ma...@wb-online.de>.
Holger, liebe Liste,
> Aber die Seiten unter z.B. http://www.mpi-inf.mpg.de sind alle STATISCH,
Sicher?
> d.h. es wird ganz gewöhnlich das entsprechende File aus dem DocumentRoot
> directory zurückgegeben.
"zurückgehen" könnte die Vokabel sein.
HTTP/1.1 200 OK
Date: Tue, 12 Jul 2005 19:10:35 GMT
Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.22 OpenSSL/0.9.6a
Connection: close
Content-Type: text/html
Ist in der Homepage _irgendwas_ mit PHP drin?
Mit freundlichen Gruessen, Martin Ebert
--
http://www.klug-suchen.de
http://www.bahnsuche.de
http://www.ddr-suche.de
http://www.wb-online.de
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Holger Bast <ba...@mpi-sb.mpg.de>.
Hallo Erik,
vielen Dank für die schnelle Antwort.
> Die Erklärung ist einfach: es handelt sich um _dynamisch generierte_
> Seiten, also um Seiten die nicht so wie sie zum Client geschickt werden
> schon auf der Harddisk zur Verfügung stehen sondern aus [...]
Deine Erklärung ist gut, zumal sie (1)+(2) auf einmal erklärt.
Aber die Seiten unter z.B. http://www.mpi-inf.mpg.de sind alle STATISCH,
d.h. es wird ganz gewöhnlich das entsprechende File aus dem DocumentRoot
directory zurückgegeben.
Oder siehst du, wie deine Erklärung dann immer noch greift?
> Achso, um auf Dein ursprüngliches Crawling-Problem zurückzukommen:
> damit musst Du wohl Leben. Dies verursacht auch in anderen Gebieten
> des Internets (Upstream-Proxies, ...) Probleme die vermeidbar wären,
> aber so ist es halt.
Stimmt. Aber in mindestens einem Fall geht es um eine Domain wo ich
zumindestens teilweise Einfluss auf den Setup habe. Da wär's schon
großartig wenn ich die Re-Crawl Zeit von 15 Stunden auf 1 Stunde
reduzieren könnte!
Holger
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------
Re: Fehlende HTTP Header + beliebiger Text an URL anhängbar
Posted by Erik Abele <er...@codefaktor.de>.
On 12.07.2005, at 20:26, Holger Bast wrote:
>
> Hallo!
>
> Folgende ZWEI Probleme bereiten mir seit einiger Zeit
> Kopfzerbrechen. Das
> lustige ist, sie scheinen erstmal nichts miteinander zu tun zu haben,
> kommen aber, so meine Erfahrung bisher, immer nur zusammen vor.
>
> ----------------------------------------------------------------------
> ----
>
> (1) Unter bestimmten Domains, z.B. http://www.mpi-inf.mpg.de,
> kommen alle
> HTML-Seiten ohne einige der Standard-Header zurück, insbesondere ohne
>
> * Last-Modified
> * ETag
> * Content-Length
Die Erklärung ist einfach: es handelt sich um _dynamisch generierte_
Seiten, also um Seiten die nicht so wie sie zum Client geschickt
werden schon auf der Harddisk zur Verfügung stehen sondern aus
versch. Quellen (DB, ...) und u.U. unter Einfluss des Users (Übergabe-
Parameter in URL, ...) 'zusammengebastelt' werden.
Da bei dynamisch generierten Seiten die Infos die in den Headern
stehen müssten nicht unbedingt sofort zur Verfügung stehen, fehlen
eben häufig auch einfach die Header. Einerseits lassen sich teilweise
wirklich keine sinnvollen Werte finden (welches Datum gibst Du in
Last-Modified bei einer Seite an die in RealTime Daten aus einer DB
anzeigt, z.B. Kontostand, Aktienwerte, ...), andererseits ist es
häufig auch nur Unwissenheit bzw. Nachlässigkeit der Programmierer.
Daß sich bei Deinen Beispielen jeweils etwas an die URL anhängen
lässt sich ebenfalls einfach erklären: wie gesagt handelt es sich um
dyn. Seiten und diese akzeptieren eben i.d.R. sog. Übergabe-Parameter
bzw. PathInfo-Angaben.
Achso, um auf Dein ursprüngliches Crawling-Problem zurückzukommen:
damit musst Du wohl Leben. Dies verursacht auch in anderen Gebieten
des Internets (Upstream-Proxies, ...) Probleme die vermeidbar wären,
aber so ist es halt.
Cheers,
Erik