[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lugbe] Seltsames URL-Forwarding bei yahoo.com
Dietrich Feist <dietrich.feist at mw.iap.unibe.ch> wrote on Fri, 27 Sep
2002 09:41:36 +0200:
>Kann mir einer der Internet-Experten erklären, warum ich bei der
>folgenden URL nicht bei Yahoo, sondern auf der Seite lande, die hinter
>dem "*" angegeben ist?
>
> http://www.yahoo.com/*http://www.iapmw.unibe.ch/
>
>Ist das ein Bug oder ein Feature? Ich habe es mal mit Telnet
>ausprobiert: der Yahoo-Server schickt eine "Temporarily
>redirected"-Nachricht mit der Adresse hinter dem "*" zurück.
>
>Es ist übrigens nicht so, dass das bei jedem Webserver funktionieren
>würde. Ausser bei Rechnern in der yahoo.(com|de) habe ich bisher keine
>andere Domain gefunden, bei der das geht.
Es passiert folgendes (unwichtige Zeilen weggelassen):
1. Dein Web-Browser ("user agent") schickt an www.yahoo.com folgende Anfrage:
GET /*http://www.iapmw.unibe.ch/ HTTP/1.0
2. www.yahoo.com antwortet:
HTTP/1.1 302 Found
Location: http://www.iapmw.unibe.ch/
3. Dein Web-Browser nimmt Kontakt mit www.iapmw.unibe.ch auf, was genau
das ist, was von ihm erwartet wird, wenn der Server mit einer 3xx-Meldung
auf eine GET-Anfrage antwortet (siehe [1]).
(Sollte Dein Web-Browser die neuere Version 1.1 von HTTP verwenden,
schaut seine Anfrage unter 1. leicht anders aus, aber im Wesentlichen
passiert auch dann nichts anderes).
Offenbar wurde www.yahoo.com so programmiert, dass vermutlich jede
Anfrage für eine Seite, deren Adresse mit /* beginnt, zu einer
entsprechenden 302-Umleitungsmeldung führt. Warum? Das wird nur yahoo
wissen. Jedenfalls ist niemand dazu verpflichtet, weshalb "es" auch nicht
mit irgendeinem anderen Rechner geht.
Viele Grüsse,
-- Sascha
brawer at acm.org
[1] HTTP/1.1, http://www.ietf.org/rfc/rfc2616.txt, Seite 60:
>10.3 Redirection 3xx
>
> This class of status code indicates that further action needs to be
> taken by the user agent in order to fulfill the request. The action
> required MAY be carried out by the user agent without interaction
> with the user if and only if the method used in the second request is
> GET or HEAD. [...]
Seite 61:
>10.3.3 302 Found
>
> The requested resource resides temporarily under a different URI.
> Since the redirection might be altered on occasion, the client SHOULD
> continue to use the Request-URI for future requests. This response
> is only cacheable if indicated by a Cache-Control or Expires header
> field.
>
> The temporary URI SHOULD be given by the Location field in the
> response. Unless the request method was HEAD, the entity of the
> response SHOULD contain a short hypertext note with a hyperlink to
> the new URI(s).