Norbert: warum gibt es keinen 404-er

Hallo,

wenn man diese Adresse http://www.uris.de/admin/addto aufruft, bekommt man je nach Browser unterschiedliche Dokumente praesentiert. Da die URL nicht vollstaendig ist, sollte IMHO jedoch eine 404-er Antwort kommen.

Hat jemand eine Idee, warum dies nicht so ist ?

PS:
Es ist ein 1&1-Server, d.h. ich habe daran nicht gedreht ... ;-)

Gruss und Dank
Norbert

  1. Hallo,

    wer mit dem IE kommt, kann auf [Strn][R] druecken und bekommt noch ein anderes Dokument zu sehen. Alle anderen Browser haben IMHO keine Auswahl.

    Gruss und Dank
    Norbert

  2. Hallo,

    ..] d.h. ich habe daran nicht gedreht ... ;-)

    Vielleicht MultiViews in d. htaccess?

    bei ../addto wird ../addto.png angezeigt, bei ../addt gibt es die von dir
    vermisste 404-Meldung

    Grüsse

    Cyx23

    1. Hallo Cyx23,

      Vielleicht MultiViews in d. htaccess?

      Jain,
      erstens gibt es dort keine .htaccess und zweitens liegen viele Dateien addto.* dort.
      Wer entscheidet, und warum, welche Datei ausgeliefert wird.

      Es muss ja nicht unbedingt ein GIF, JPG oder PNG  sein, der Server koennte genauso eine TXT, HTM oder PHP rausruecken. MultiViews sollen doch nur das optimalste Dokument auswaehlen und nicht entscheiden, welche Art es hat, also Bild oder Text.

      Gruss Norbert

  3. hi,

    wenn man diese Adresse http://www.uris.de/admin/addto aufruft, bekommt man je nach Browser unterschiedliche Dokumente praesentiert. Da die URL nicht vollstaendig ist, sollte IMHO jedoch eine 404-er Antwort kommen.

    Hat jemand eine Idee, warum dies nicht so ist ?

    Das schon erwähnte MultiViews, und ggf. noch mod_spelling.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi wahsaga,

      Das schon erwähnte MultiViews, und ggf. noch mod_spelling.

      hmm,
      also MultiViews waere echt falsch, es geht ja nicht um eine Sprachauswahl.
      Und mod_spelling soll eine Liste der moeglichen Dokumente zurueckliefern.
      http://www.mailarchives.org/list/apache-httpd-docs/msg/2003/01212
      Tut es aber nicht tun, habe ich mit PHP und fsockopen ausprobiert.

      Gruss Norbert

      1. Hallo Norbert,

        Das schon erwähnte MultiViews, und ggf. noch mod_spelling.
        hmm,
        also MultiViews waere echt falsch, es geht ja nicht um eine Sprachauswahl.

        Woher nimmst du eigentlich die Vorstellung, dass MultiViews nur für die Sprachauswahl zuständig wäre? Content-Negotiation kann sich auch auf andere Eigenschaften eines Dokuments erstrecken.

        Schöne Grüße,

        Johannes

        --
        ie:% fl:( br:< va:| ls:[ fo:) rl:) n4:? ss:| de:] js:| ch:} sh:) mo:| zu:)
        1. Hallo Johannes,

          Woher nimmst du eigentlich die Vorstellung, dass MultiViews nur für die Sprachauswahl zuständig wäre?

          na-ja,
          man kann doch nicht alles in einen Topf werfen.
          Es gibt MultiViews dann Content Negotiation und mod_spelling ist wieder etwas anderes.

          Da in dem urspruenglichen Link _keine_ Extension angegeben ist, ist auch nicht klar, ob Text- oder Bild-Daten angefordert werden. Damit fallen MultiViews und Content Negotiation weg und mod_spelling muesste greifen. Dann jedoch sollte der Client eine Liste der vergleichbaren Dateien erhalten um sich was passendes auszusuchen. Das wiederum passiert nicht, sondern es wird einfach etwas uebertragen. Und das entspricht absolut nicht den Anforderungen.

          Gruss Norbert

          1. hi,

            man kann doch nicht alles in einen Topf werfen.

            Ja dann lass es doch endlich.

            Da in dem urspruenglichen Link _keine_ Extension angegeben ist, ist auch nicht klar, ob Text- oder Bild-Daten angefordert werden.

            Eben.
            Und deshalb wird aus den Accept-Headern, die der Client mitgeschickt hat, versucht zu ermitteln, was er denn wohl am ehesten brauchen könnte.

            Damit fallen MultiViews und Content Negotiation weg

            Nö, die sind genau die Verantwortlichen, die du hier suchst.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
          2. Moin!

            man kann doch nicht alles in einen Topf werfen.
            Es gibt MultiViews

            Wie du an der von dir selbst verlinkten Seite feststellen kannst, ist MultiViews nicht nur für die Sprache, sondern auch für die Auslieferung eventuell komprimierter Seiten zuständig.

            Der Apache-Webserver erlaubt es, dass man mehrere Dateiendungen durch Punkte abtrennt, um damit den Dateiinhalt näher zu beschreiben. Dabei kann jeder Dateiendung durch die Apache-Konfiguration eine bestimmte Bedeutung zugeordnet werden.

            .html, .txt, .jpg, .png und .gif ordnen der Datei Content-Typen zu.

            .en, .de, .fr etc. ordnen der Datei Sprachen zu.

            .gz, .zip, .Z etc. ordnet der Datei Komprimierungstypen zu.

            Das Zeichenencoding läßt sich ebenfalls einstellen.

            Alle diese Metainformationen gehören in das Gebiet von mod_mime.

            Sie werden aber genutzt von mod_negotiation, zu dem auch die Option MultiViews gehört (Option ist eine Kern-Direktive, die aber nur bei aktiviertem mod_negotiation auch MultiViews kennt).

            Da in dem urspruenglichen Link _keine_ Extension angegeben ist, ist auch nicht klar, ob Text- oder Bild-Daten angefordert werden. Damit fallen MultiViews und Content Negotiation weg

            Falsch, genau diese Mechanismen kommen dann erst zum Tragen. Der angegebenen URL kann keine Datei direkt zugeordnet werden, es gibt nur Dateien, die zusätzliche Dateiendungen haben - und die Dateiendungen erklären dem Webserver die Metainformationen, wie oben erwähnt.

            mod_negotiation sorgt dann, basierend auf den Client-Headern, in denen dieser seine Präferenzen mitteilt, für die automatische Auswahl einer passenden Datei.

            Das wäre kein Problem, gäbe es beispielsweise nur Grafiken (png/gif/jpg) zur Auswahl. Dein Spezialfall ist, dass es zusätzlich noch HTML, TXT und PHP gibt. Das macht die Sache schwieriger.

            und mod_spelling muesste greifen. Dann jedoch sollte der Client eine Liste der vergleichbaren Dateien erhalten um sich was passendes auszusuchen.

            Du meinst so eine Liste: http://www.uris.de/admin/addto.bla

            Die kommt nicht von mod_speling (das würde im Hintergrund arbeiten und einfach eine passende Ressource auswählen), sondern auch von MultiViews.

            Das wiederum passiert nicht, sondern es wird einfach etwas uebertragen. Und das entspricht absolut nicht den Anforderungen.

            Deinen Anforderungen?

            Du kannst ja mal checken, was dein Browser so an Headern mitschickt:
            http://forum.de.selfhtml.org/cgi-bin/http_trace.pl

            - Sven Rautenberg

            --
            My sssignature, my preciousssss!
            1. Hallo Sven,

              zuerst mal, wenn man etwas falsches eingibt erwartet man eine Fehlermeldung.
              Darauf hat man doch wohl ein Recht - oder ?

              Wenn man die URL mit PHP via fsockopen(); oeffnet, gibt es absolut keine Header, die der Server auswerten koennte, ausser, man sendet sie ausdruecklich mit. Trotzdem kommt auch hier kein Error, sondern eine Datei zurueck. Das ist kein Fiedscher, das ist definitiv Murks.
              Stell Dir das mal bei einer Downloadseite vor. Du tippst aus versehen .../haus[enter] und bekommst .../hausfrauen.jpg (96,99 Euro) statt .../hausbau.pdf (12,50 Euro) und der Richter meint, zahlen sie, das ist ein gutes Fiedscher.

              Du kannst ja mal checken, was dein Browser so an Headern mitschickt:
              http://forum.de.selfhtml.org/cgi-bin/http_trace.pl

              habe ich gemacht,
              aber den Server interessiert das nicht, zumindestens liefert er nicht in der Reihenfolge von Accept.

              Gruss Norbert

              1. hi,

                zuerst mal, wenn man etwas falsches eingibt erwartet man eine Fehlermeldung.
                Darauf hat man doch wohl ein Recht - oder ?

                Zuerst Mal, das richtige Konfigurieren des Server ist Sache dessen, der ihn administriert.
                Und das ist nicht sein gutes Recht, sondern seine Pflicht.

                Wenn man die URL mit PHP via fsockopen(); oeffnet, gibt es absolut keine Header, die der Server auswerten koennte, ausser, man sendet sie ausdruecklich mit. Trotzdem kommt auch hier kein Error, sondern eine Datei zurueck. Das ist kein Fiedscher, das ist definitiv Murks.

                Das würde ich als eindeutiges Fehlerverhalten des Servers bezeichnen (ggf. Konfigurationsfehler?)
                http://httpd.apache.org/docs/1.3/content-negotiation.html besagt im Abschnitt "Apache Negotiation Algorithm":
                "1. First, for each dimension of the negotiation, check the appropriate Accept* header field and assign a quality to each variant. If the Accept* header for any dimension implies that this variant is not acceptable, eliminate it. If no variants remain, go to step 4."

                Und Step 4 wäre dann die Ausliefung einer Liste unter dem Status Code  406 Not acceptable.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. Hi,

                  zuerst mal, wenn man etwas falsches eingibt erwartet man eine Fehlermeldung.
                  Darauf hat man doch wohl ein Recht - oder ?
                  Zuerst Mal, das richtige Konfigurieren des Server ist Sache dessen, der ihn administriert.
                  Und das ist nicht sein gutes Recht, sondern seine Pflicht.

                  hmm,
                  warum sagst Du das mir, sag das 1&1 ...

                  Mich interessiert in der Regel eigentlich nur, warum etwas so ist, wie es ist. Aendern kann man das als User/Coder sowieso nur in absoluten Ausnahmefaellen. In den Firmen bin ich kein Admin, bei 1&1 macht das auch jemand anderes und mein lokaler Indianer macht sowieso was ER will. No chance ... ;-)

                  Schoenes WE
                  Norbert

                  1. Hallo Norbert,

                    Mich interessiert in der Regel eigentlich nur, warum etwas so ist, wie es ist. Aendern kann man das als User/Coder sowieso nur in absoluten Ausnahmefaellen. In den Firmen bin ich kein Admin, bei 1&1 macht das auch jemand anderes und mein lokaler Indianer macht sowieso was ER will. No chance ... ;-)

                    Schönes Hobby hast du da. Für alle anderen nochmal vorsorglich der
                    Hinweis auf die Datei .htaccess und Einträge wie Options -MultiViews,
                    es muß ja nicht immer die httpd.conf sein.

                    Grüsse

                    Cyx23