HTTPリクエストをPOSTする時のサイズ制限


HTTPリクエストをPOSTする時のサイズ制限はどれぐらいなのでしょう?

PHP + Apache 構成で開発する場合に関係のありそうなパラメータをまとめます。


PHPのpost_max_size

PHPでPOST送信する場合の最大サイズを設定します。

例) 
たとえば.htaccessに設定するなら、
php_value post_max_size 10M

PHPのmemory_limit

このパラメータはPHPの1つのプロセスが利用できるメモリサイズの上限ですが、POSTするサイズと直接は関係ありませんが、かなり重たい処理でデータを作成するプログラムの場合に設定が必要になります。

例)PHPのプログラム内で設定するなら、
ini_set(‘memory_limit’, ’16M’);

ApacheのLimitRequestBodyパラメータ

Apacheのバージョンによってはこのパラメータがないものもありますが、HTTPリクエストのボディサイズ上限を制限するパラメータで、POSTの時も有効になるようです。(実際にPOSTの時に効くかどうかは当方未確認)
0から2147483647(2GB)までが指定可能で、0を設定すると無制限という意味になります。
例)httpd.conf内に以下を設定(1MBに設定する場合)
LimitRequestBody 1024000

カテゴリー: WEB
カテゴリー