Alexander: Für welche Statuscodes Error-Doks erstellen?

Servus miteinander,

ich habe auf http://stratofaq.ig4.org/index.php3?sid=549540192&aktion=anzeigen&rubrik=90&id=4 eine tolle Übersicht sämtlicher (?) HTTP-Codes gefuden, die der Web-Server so versendet.

So ist es ja z.B. üblich, mit Hilfe einer .htaccess eventuelle Fehler (404, 500) abzufangen und auf eigene, zum Design der Homepage passende, Fehlermeldungsseiten umleiten zu lassen.

Schön und gut! Nur für welche dieser HTTP-Codes ist dies überhaupt sinnvoll? 404 und 500 sehe ich ein, 401 auch noch. Aber für welche anderen Codes ist dies noch sinnvoll (eventuell bei Weiterleitungen)?

Was habt Ihr alles "abgedeckt"?

Wie kann ich in diesem Zusammenhang denn die URL (bei einem 404er Fehler), die NICHT gefunden wurde, direkt ins Dokument einbetten (ohne JS)? So nach dem Motto: "Die Seite http://www.wasauchimmer.de/test.html" wurde nicht gefunden!"

Vielen Dank und viele Grüße...

Alex :)

  1. Hallo Alex,

    ich habe auf http://stratofaq.ig4.org/index.php3?sid=549540192&aktion=anzeigen&rubrik=90&id=4 eine tolle Übersicht sämtlicher (?) HTTP-Codes gefuden, die der Web-Server so versendet.

    Auf http://selfhtml.teamone.de/diverses/httpstatuscodes.htm haettest du uebrigens auch eine gefunden ;-)

    Schön und gut! Nur für welche dieser HTTP-Codes ist dies überhaupt sinnvoll? 404 und 500 sehe ich ein, 401 auch noch. Aber für welche anderen Codes ist dies noch sinnvoll (eventuell bei Weiterleitungen)?

    Eigene Return-Seiten machen meines Wissens nur bei den Meldungen der 400er und der 500er Gruppe Sinn, denn da koennen die angeforderten Daten nicht gesendet werden, aber es gibt auch keine Alternative. Bei der 200er Gruppe werden ja entweder die angeforderten Daten oder gar nichts gesendet, und bei der 300er Gruppe wird ein Header gesendet, der den Browser auffordert, was anderes aufzurufen.

    Natuerlich braucht man bei den 400er und 500er Meldungen auch nur Seiten fuer solche Statuscodes, die der Webserver tatsaechlich benutzt. Am sinnvollsten ist es vielleicht sogar, nicht einfach statische Fehlerseiten fuer bestimmte Statuscodes zu erstellen, sondern stattdessen ein Script, das im Fehlerfall angegeben ist, den HTTP-Statuscode des Fehlers ermittelt und dann dem Anwender eine Seite mit einer Erklaerung zu dem entsprechenden Fehler sendet. Im Prinzip also so was wie die obigen Uebersichten, nur in ein Script verpackt, dass dem User die Erklaerung zu dem jeweils aktuellen Fehler liefert.

    viele Gruesse
      Stefan Muenz

  2. So ist es ja z.B. üblich, mit Hilfe einer .htaccess eventuelle Fehler (404, 500) abzufangen und auf eigene, zum Design der Homepage passende, Fehlermeldungsseiten umleiten zu lassen.

    Schön und gut! Nur für welche dieser HTTP-Codes ist dies überhaupt sinnvoll? 404 und 500 sehe ich ein, 401 auch noch. Aber für welche anderen Codes ist dies noch sinnvoll (eventuell bei Weiterleitungen)?

    Bei Weiterleitungen ganz bestimmt nicht, du möchtest ja weiterleiten und nicht den Leser mit unnützen Fehlermeldungen beglücken. Der entsprechende Befehl für den Apache heißt nicht ganz ohne Grund ErrorDocument und nicht RedirectDocument :)

    Was du alles abdecken willst, bleibt dir überlassen. IMHO macht es keinen Sinn, für alle 400er und 500er Fehler eine Seite zu erzeugen, es sei denn, draußen stürmt und schneit's und man hat Langeweile :)
    Zumal es ja auch nicht so ist, daß der Benutzer ohne Fehlerseite völlig allein gelassen wird - eine Fehlermeldung im Klartext schickt der Server immer. Das Ersetzen dieser Standardmeldungen ist also zu einem gutem Stück auch nur als "Dekoration" anzusehen.

    Was habt Ihr alles "abgedeckt"?

    Das, was hier mehr oder weniger regelmäßig auftritt: 404 und 406.

    Wie kann ich in diesem Zusammenhang denn die URL (bei einem 404er Fehler), die NICHT gefunden wurde, direkt ins Dokument einbetten (ohne JS)? So nach dem Motto: "Die Seite http://www.wasauchimmer.de/test.html" wurde nicht gefunden!"

    Der Apache übergibt diese Daten in mehreren Variablen. Wie du auf diese zugreifst, kommt logischerweise auf die Sprache an, mit der du diese Fehlerseiten implementierst.
    In der Apache-Anleitung gibt es einige Seiten zu dem Thema, zu erreichen über die Beschreibung zu ErrorDocument und den Server Side Includes (SSI, mod_include). Die Anleitung findest du unter http://httpd.apache.org.

    Gruß,
      soenk.e

    1. Hallo Sönke, hallo Stefan,

      Bei Weiterleitungen ganz bestimmt nicht, du möchtest ja weiterleiten und nicht den Leser mit unnützen Fehlermeldungen beglücken. Der entsprechende Befehl für den Apache heißt nicht ganz ohne Grund ErrorDocument und nicht RedirectDocument :)

      OK, ich habe mir das so gedacht, daß eben eine Seite kommt, auf der dann steht, daß man umgeleitet wird. Aber ich sehe ein, daß dies nicht allzu sinnvoll ist...

      Was du alles abdecken willst, bleibt dir überlassen. IMHO macht es keinen Sinn, für alle 400er und 500er Fehler eine Seite zu erzeugen, es sei denn, draußen stürmt und schneit's und man hat Langeweile :)

      Stürmen ist richtig, Schnee wäre allemal besser als Regen ;)
      Langeweile habe ich zur Zeit eigentlich nicht...

      Was habt Ihr alles "abgedeckt"?

      Das, was hier mehr oder weniger regelmäßig auftritt: 404 und 406.

      Also bei meinem "normalen" surfen bin ich noch nie auf 406 gestoßen. Auch in meine Logs sehe ich davon nichts. Wann tritt dieser "Not Acceptable"-fehler ein?

      Tschö...

      Alex :)

      1. Was du alles abdecken willst, bleibt dir überlassen. IMHO macht es keinen Sinn, für alle 400er und 500er Fehler eine Seite zu erzeugen, es sei denn, draußen stürmt und schneit's und man hat Langeweile :)

        Stürmen ist richtig, Schnee wäre allemal besser als Regen ;)

        Ohhhja :)

        Was habt Ihr alles "abgedeckt"?

        Das, was hier mehr oder weniger regelmäßig auftritt: 404 und 406.

        Also bei meinem "normalen" surfen bin ich noch nie auf 406 gestoßen. Auch in meine Logs sehe ich davon nichts. Wann tritt dieser "Not Acceptable"-fehler ein?

        Das tritt ein, wenn der Browser des Benutzers (oder der Benutzer:) eine per Content Negotiation angebotene Seite bzw. Datei nicht unterstützt.
        In meinem Fall: Du hast in deinem Browser Spanisch als Sprache eingetragen und willst eine Seite abrufen, die nur in Deutsch und Englisch vorliegt. Dann bekommst du einen freundlichen Hinweis (den 406-Fehler) mit einer Liste der möglichen Alternativen (Deutsch und Englisch) und kannst dir da eine aussuchen.

        Gruß,
          soenk.e

      2. Was habt Ihr alles "abgedeckt"?
        Das, was hier mehr oder weniger regelmäßig auftritt: 404 und 406.
        Also bei meinem "normalen" surfen bin ich noch nie auf 406 gestoßen.
        Auch in meinen Logs sehe ich davon nichts.

        http://webalizer.teamone.de/selfhtml/usage_200202.htm

  3. Hallo Alex,

    für die Chatter:
    Idefix sets mode: +ichbinbreit (oder so ähnlich)

    Also bei manchen Seiten würde man sich wünschen, daß auch bei Statuscode 200 eine Fehlermeldung à la "Sorry, diese Seiten wollen Sie sich nicht wirklich antun" kommt... ;-)

    Viele Grüße
    Carsten

    PS: sorry
    PPS: nein, ich habe keine spezielle Seite im Hinterkopf
    PPPS: bei Statuscode 500 ist die Frage, ob Otto-Normal-Surfer einen Unterschied macht zwischen Standardantwort und designter Antwort. Er wird sich immer denken: "Hilfe, was habe ich kaputt gemacht?"
    PPPPS: es sei denn, man schreibt etwas à la "nein!!! Du hast keine Schuld!" ;-)

    1. Hallo CarstenP!

      PPPS: bei Statuscode 500 ist die Frage, ob Otto-Normal-Surfer einen Unterschied macht zwischen Standardantwort und designter Antwort. Er wird sich immer denken: "Hilfe, was habe ich kaputt gemacht?"
      PPPPS: es sei denn, man schreibt etwas à la "nein!!! Du hast keine Schuld!" ;-)

      Oder man erzählt ihm was von InFernal SUrFer HOrror:

      http://www.atomic-eggs.com/500.html

      @alex: Ich decke 404, 500, 401 (authorization required) und 403 (forbidden) ab. Es müßte ausreichen.

      Grüße,
      Patrick

      1. Tach auch,

        Oder man erzählt ihm was von InFernal SUrFer HOrror:

        Unsinn, die Sonnenflecken sind schuld: http://www.armin-grewe.com/error500.html

        @alex: Ich decke 404, 500, 401 (authorization required) und 403 (forbidden) ab. Es müßte ausreichen.

        Dito. Na ja, die 403 muss ich noch basteln. Aber das wird noch.

        Gruss,
        Armin

  4. ich habe auf
    http://stratofaq.ig4.org/index.php3?sid=549540192&aktion=anzeigen&rubrik=90&id=4
    eine tolle Übersicht sämtlicher (?) HTTP-Codes gefunden, die
    der Web-Server so versendet.

    http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10

    Wie kann ich in diesem Zusammenhang denn die URL (bei einem 404er
    Fehler), die NICHT gefunden wurde, direkt ins Dokument einbetten
    (ohne JS)?
    So nach dem Motto: "Die Seite http://www.wasauchimmer.de/test.html"
    wurde nicht gefunden!"

    http://httpd.apache.org/docs/custom-error.html