title: Does servlet engine read the whole request before calling a servlet?
body: <p>Servlet engine (e.g. <code>Tomcat</code> or <code>Jetty</code>) receives an HTTP request and calls a servlet with an <code>HttpServletRequest</code> object, which contains an <code>InputStream</code> of the request body. </p>
  
  <p>Now I wonder if the engine has already read <em>the whole</em> request from the network and the <code>InputStream</code> is just a buffer in memory or it has read the request <em>partially</em> and when the servlet calls the <code>InputStream.read</code> it <em>actually</em> reads the socket.</p>