tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier ...@ice-sa.com>
Subject Re: clarification on how data is streamed and handled by tomcat
Date Wed, 04 Jan 2012 18:58:45 GMT
S Ahmed wrote:
> Tomcat 6
> Spring MVC, where my controllers method has both httpservletrequest and
> httpservletresponse as parameters.
> 
> The point is that I want to know the effects of others sending me large
> values in a http post (not an image upload, but a form post).
> 
> I'm assuming once it is sent by the client as a http post, and my servlet
> responds to the request tomcat has already streamed that data and whether I
> do:
> 
> String p1 = request.getParameter("big_payload")
> 
> or not, it has already been loaded into memory.
> 
> Am I correct?

To me, it seems that Konstantin already answered those questions precisely and in detail 
below.

> 
> Is there a maximize size setting in tomcat?
> 
> On Wed, Jan 4, 2012 at 1:03 PM, Konstantin Kolinko
> <knst.kolinko@gmail.com>wrote:
> 
>> 2012/1/4 S Ahmed <sahmed1020@gmail.com>:
>>> Say I have a simple servlet or spring mvc application running on tomcat.
>>>
>>> Tomcat is running as a webserver on port 80.
>>>
>>> A client makes a http POST request to my page www.example.com/submit
>>>
>>> If the client adds a very large file with the POST, does this mean that
>>> when my servlet code starts to execute, tomcat already has the entire
>>> request content in memory? (including the very large POST parameter)
>> 1. Tomcat version =?
>> 2. What API are you using to read the file?
>>
>> In general request processing starts after the headers in HTTP request
>> have been read. At that point you can call getInputStream() and read
>> the body of the POST request while it is being received from the
>> client.
>>
>> But if you call certain APIs (e.g. getParameter()) the call will hang
>> until entire POST request body is received from the client and
>> processed. It is said that those methods "consume" the body of a POST
>> request.
>>
>> 3. In most implementations large file uploads are not stored in
>> memory, but are written to a temporary file on your hard drive. (So
>> the request body is processed, but you cannot say that it is "in
>> memory").
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message