Beat Strasser: Fehler 406

Hi there

Kürzlich bekam ich von einem Kollegen ein Feedback, dass meine Website bei ihm immer einen HTTP-406er-Fehler anzeige. Ich schaute dann in den WWW-Logs nach - und etwa 0.5% meiner Besucher bekommen einen 406 zurück. Eigentlich sehr wenig, aber es nervt mich total, weil ich nicht weiss, an was es liegen könnte. Der Betroffene benutzt einen normalen NS 4.7 (Mozilla/4.7 [de] (Win95; I)).
Ich krieg' diesen Fehler einfach nie! Aus der HTTP-406-Beschreibung werde ich auch nicht ganz schlau, bei was ich einen Fehler gemacht haben könnte (vielleicht bei der 'Programmierung' der .htaccess-Datei?):

406 - Not Acceptable
   The resource identified by the request is only capable of generating
   response entities which have content characteristics not acceptable
   according to the accept headers sent in the request.

Unless it was a HEAD request, the response SHOULD include an entity
   containing a list of available entity characteristics and location(s)
   from which the user or user agent can choose the one most
   appropriate. The entity format is specified by the media type given
   in the Content-Type header field. Depending upon the format and the
   capabilities of the user agent, selection of the most appropriate
   choice MAY be performed automatically. However, this specification
   does not define any standard for such automatic selection.

Note: HTTP/1.1 servers are allowed to return responses which
      are not acceptable according to the accept headers sent in the
      request. In some cases, this may even be preferable to sending
      a 406 response. User agents are encouraged to inspect the
      headers of an incoming response to determine if it is
      acceptable.

If the response could be unacceptable, a user agent SHOULD
   temporarily stop receipt of more data and query the user for a
   decision on further actions.

Ich gebrauche MultiViews (Content Negotiation), AddLanguage, LanguagePriority und noch paar andere wichtige Sachen wie ErrorDocs etc..

Hat jemand mit diesem Problem Erfahrungen gemacht? Ich wäre sehr froh um einen Tipp!

Vielen Dank,
Beat

  1. Hi Beat,

    406, bedeutet um es simpel auszudruecken, das bei einer Content Negotation keine Ressource gefundne wurde. Der NN 4.7 verlangt halt nach einem dokument was im zugewiesen wird, welches halt aber nicht da ist.

    alles AFAIK ;-)

    MfG Olli *g*

  2. Kürzlich bekam ich von einem Kollegen ein Feedback, dass meine Website bei ihm immer einen HTTP-406er-Fehler anzeige. Ich schaute dann in den WWW-Logs nach - und etwa 0.5% meiner Besucher bekommen einen 406 zurück. Eigentlich sehr wenig, aber es nervt mich total, weil ich nicht weiss, an was es liegen könnte. Der Betroffene benutzt einen normalen NS 4.7 (Mozilla/4.7 [de] (Win95; I)).
    Ich krieg' diesen Fehler einfach nie! Aus der HTTP-406-Beschreibung werde ich auch nicht ganz schlau, bei was ich einen Fehler gemacht haben könnte (vielleicht bei der 'Programmierung' der .htaccess-Datei?):

    Ich gebrauche MultiViews (Content Negotiation), AddLanguage, LanguagePriority und noch paar andere wichtige Sachen wie ErrorDocs etc..

    Status 406 bedeutet das der Webserver keine Resource finden kann, die mit dem Request vereinbar ist, also z.B.

    Request:
    Accept-Language: en

    Response
    Content-Language: de

    Wenn mod_negotiate aktiv wird (diesbez. gibt es einige 'bugs' über die ich in comp.infosystems.www.servers.unix versucht habe zu diskutieren), sendet Apache statt des Deutschen Inhaltes den Status 406 (Der Client will ja nur generisch-englischen Inhalt).

    Schick deinen Kollegen auf http://echo.znet.de:8888/ und lass dir die Ausgabe schicken und gehe die Accept: Felder durch.

    http://www.bjoernsworld.de/

  3. 406 - Not Acceptable
       The resource identified by the request is only capable of generating
       response entities which have content characteristics not acceptable
       according to the accept headers sent in the request.

    "Die vom Request angesprochene Ressource (Dokument/URL) ist nur in der Lage, Antwortdaten zu generieren, welche Eigenschaften besitzen, die für den Browser nicht akzeptabel sind (anhand der von ihm mitgeschickten Eigenschaften)."

    Ich gebrauche MultiViews (Content Negotiation), AddLanguage, LanguagePriority und noch paar andere wichtige Sachen wie ErrorDocs etc..

    Eben. Und keine Deiner MultiViews-Definitionen befriedigt den Browser bezüglich dieses Dokuments.

    Ich nehme an, Deine besonderen Benutzer haben Browser-Eigenschaften, die Du weder explizit noch implizit berücksichtigt hast (z. B. exotische Sprachen).
    Hast Du überall Default-Dokumente definiert?

    Hat jemand mit diesem Problem Erfahrungen gemacht? Ich wäre sehr froh um einen Tipp!

    Literatur zum Thema: http://www.teamone.de/selfaktuell/artikel/schroepl04.htm.

    1. Hallo

      Danke für alle Antworten!

      Ich nehme an, Deine besonderen Benutzer haben Browser-Eigenschaften, die Du weder explizit noch implizit berücksichtigt hast (z. B. exotische Sprachen).
      Hast Du überall Default-Dokumente definiert?

      Danke vielmals für Deinen Artikel; der hat mir sehr geholfen; bei den Apache-Original-Beschreibungen kam ich eben nicht ganz draus...

      Irgendwo habe ich aber immer noch einen Knopf: nämlich genau bei diesen Default-Dokumenten.
      Funktionieren die auch wenn man das nicht mit type maps, sondern mit MultiViews macht?
      Ich möchte die deutsche Variante als Standard; die soll immer kommen, auch wenn jemand mit exotischen Sprachen 'kommt'. Falls ich die Seite auch noch in einer anderen Sprache anbiete (wie z.B. Englisch oder Spanisch, soll diese angezeigt werden, falls sie nicht Deutsch können). Aber ich krieg das nicht hin. Meine .htaccess:

      Options +MultiViews
      AddLanguage es .es
      LanguagePriority de en

      Und die Deutsch-Dokumente würde ich jetzt asdf.html.default nennen. Oder muss es eine Default- *und* eine De-Version geben?

      Um Hilfe, wäre ich sehr froh! Danke vielmals!

      Gruss,
      Beat