J. T.: 405 Method Not Allowed

Bin gerade dabei in meine Chatsoftware einen FileServer einzubauen.
Es gibt eine Serverkonfigdatei mime.txt in der die bekannten mime Typen vermerkt sein sollen.
Sollte nun eine zwar existente Datei abgerufen werden, die aber eine unbekannte Dateiendung hat sollte der Server den Statuscode "405 Method Not Allowed" senden. Dies tut er, doch kein Browser scheint damit etwas anfangen zu können. Der IE zB zeigt weiß und Opera ist der Meinung keine Verbindung zum Server aufbauen zu können.
Ist es normal, daß die Browser teilweise gar nichts mit den Statuscodes anfangen können, sondern alle nur die standard 404, 200, usw. verstehen?

  1. Hi,

    Bin gerade dabei in meine Chatsoftware einen FileServer einzubauen.

    Chat per http?  Das ist Protokollvergewaltigung. Wofür gibt es eigentlich IRC?

    Sollte nun eine zwar existente Datei abgerufen werden, die aber eine unbekannte Dateiendung hat sollte der Server den Statuscode "405 Method Not Allowed" senden.

    Warum?
    Method not allowed ist für was anderes vorgesehen.
    Z.B. wenn ein POST auf eine statische HTML-Seite losgelassen wird.

    403 Forbidden erscheint mir wesentlich besser geeignet

    Zitat aus RFC 2616 (http 1.1 - siehe http://www.ietf.org/rfc/rfc2616.txt):

    10.4.4 403 Forbidden

    The server understood the request, but is refusing to fulfill it.
       Authorization will not help and the request SHOULD NOT be repeated.
       If the request method was not HEAD and the server wishes to make
       public why the request has not been fulfilled, it SHOULD describe the
       reason for the refusal in the entity.  If the server does not wish to
       make this information available to the client, the status code 404
       (Not Found) can be used instead.

    Dies tut er, doch kein Browser scheint damit etwas anfangen zu können. Der IE zB zeigt weiß und Opera ist der Meinung keine Verbindung zum Server aufbauen zu können.

    Ist der header der Response korrekt aufgebaut?
    Ist ein allow-Field vorhanden?

    Zitat aus RFC 2616:
    10.4.6 405 Method Not Allowed

    The method specified in the Request-Line is not allowed for the
       resource identified by the Request-URI. The response MUST include an
       Allow header containing a list of valid methods for the requested
       resource.

    Ist es normal, daß die Browser teilweise gar nichts mit den Statuscodes anfangen können, sondern alle nur die standart 404, 200, usw. verstehen?

    Standard hat nichts mit Stand-Art (Würschtelbude, Glühweinstand, ...) zu tun.

    Wenn die Fehlermeldungen KORREKT gesendet werden, kommen die Browser eigentlich damit zurecht.
    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.