Statuscode 413 Request Entity Too Large

Was bedeutet der Statuscode 413 Request Entity Too Large?

Ein 413 Request Entity Too Large Fehler tritt in der Regel dann auf, wenn eine Anfrage von einem Client zu groß ist, um vom Webserver verarbeitet zu werden. Wenn ein Webserver eine bestimmte Größenbeschränkung für HTTP-Anforderungen festlegt, was standardmäßig der Fall ist, können Clients eine 413 Request Entity Too Large Antwort auslösen. Ein Beispiel für eine solche Anforderung, die diesen Fehler verursachen könnte und eine Antwort mit 413 Request Entity Too Large provozieren würde, wäre, wenn ein Client versucht, eine große Datei auf den Server hochzuladen (zum Beispiel eine große Mediendatei).

Weitere Informationen darüber, wie genau es dazu kam, dass ein Server mit dem Statuscode 413 auf einen bestimmten Request antwortete, sind zumindest für Client-Benutzer kaum zu erlangen. Es hängt vom Typ des verwendeten Webservers ab, welche Direktive konfiguriert werden muss, um die maximal zulässige Größe für Anforderungen festzulegen. Unabhängig davon, ob Benutzer daran gehindert werden sollen, übermäßig große Dateien auf einen Webserver hochzuladen, oder ob das Limit für die Upload-Größe erhöhen werden soll, hängt es grundsätzlich von der verwendeten Server-Software ab, an welcher Stelle man welche Einstellungen vornehmen würde. Sowohl die eingesetzte Server-Software als auch die möglichen Problemquellen innerhalb eines Servers können, wie im folgenden Beispiel erläutert, äußerst vielfältig sein.

Beispiele für mögliche Auslöser einer “413 Request Entity Too Large”-Antwort

Wenn Entwickler oder Anwender mit einem WCF-Webservice, der in IIS7 gehostet wird, arbeiten und eine der Methoden des Services verwenden, um ein Bytearray zu senden, das ein Bild enthält kann dies zu Problemen führen. Es funktioniert möglicherweise gut mit Bildern kleiner Größe, aber wenn versucht wird, ein größeres Bild hochzuladen, gibt der WCF-Dienst einen Fehler mit Statuscode 413 zurück. Als Entwickler hat man eventuell denselben Fehler zuvor bereits in einem komplett anderen Kontext erhalten, etwa bei der Entwicklung einer ASP.NET-Webanwendung, die auf IIS 7 über SSL gehostet wird. In diesem Fall wurde keine Datei auf die Seite hochgeladen, der Fehler trat auf, wenn auf Webseiten zugegriffen wird, die ein Rasteransichts-Steuerelement mit einer großen Anzahl von Seitennummerierungen beinhalten. Die gleichen Seiten funktionierten für HTTP, aber nicht für HTTPS. In beiden Szenarien wird der Statuscode 413 Request Entity Too Large ausgegeben, die zugrunde liegenden Probleme und auch die Lösungen für diese Probleme sind jedoch vollkommen unterschiedlich.

Im zweiten Szenario trat der Fehler aufgrund der Größe der Seite auf, sie ist sehr umfangreich und führte dazu, dass der Umfang dar zu übermittelnden Daten durch das “blättern” immer größer wurde. Das passiert, wenn für eine Website SSL und “Accept Client Certificates” aktiviert sind – HTTP-Anfragen sind dann auf die UploadReadAheadSize-Angabe in der Konfiguration der Site beschränkt. Um dies zu beheben, müsste man demnach UploadReadAheadSize (Standardgröße 48 KB) erhöhen.

Im ersten Szenario ist die Ursache des Problems naheliegender: Standardmäßig begrenzt WCF Nachrichten auf 64 KB, um eine DOS-Attacke mit großen Nachrichten zu vermeiden. Standardmäßig sendet es byte [] als base64-codierte Zeichenfolge und erhöht die Größe der Nachricht (33 prozentige Vergrößerung). Sobald die hochgeladene Dateigröße ~ größer als 48 KB (nicht 64 KB) ist, wird der Fehler daher angezeigt (48KB * 1.33 = ~ 64KB). Durch Ändern der “maxReceivedMessageSize” in der Datei Web.config kann das Problem gelöst werden indem das Akzeptieren größerer Nachrichten erlaubt wird.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenlose SEO Analyse


Weitere Inhalte