3

cherrypyファイルをアップロードできるサーバーをセットアップしました。ただし、ファイルが特定のサイズを超えるとアップロードされないようにしたいです。少し検索しましたが、答えを見つけることができませんでした。cherrypyまたは一般的にこれを達成する方法はありますか?

4

1 に答える 1

3

cherrypy._cpserver.Server.max_request_body_sizeはおそらくあなたが望むものです。

HTTP クライアントがファイルをアップロードする前に、HTTP ヘッダーでメッセージ本文のサイズを指定する必要があります。これに基づいて、HTTP 413 Request Entity Too Largeエラー メッセージでアップロードの試行をすぐに拒否できます。

一定の量を言ってからさらにアップロードすることでこれを回避することは可能ですが、ほとんどのサーバーは、クライアントから受け入れる予定の最大値に達すると読み取りを停止するほどスマートです。

残念ながら、これが常に当てはまるとは限りません。「チャンク エンコーディング」と呼ばれる HTTP アップロードの方法も存在するためです。この方法では、クライアント (または進行方向によってはサーバー) がアップロードのサイズを通知する必要はありません。これは主に、データをクライアントにストリーミングする方法としてサーバー側で見られます。

于 2012-11-12T19:18:59.707 に答える