title: What is the professional way of serving HTTP 206 responses
body: <p>If a server is set-up to handle <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.5" rel="nofollow">Range requests</a>, by accepting bytes for instance, then there are roughly two ways of sending a valid request to that server.</p>
  
  <p>The first is to set the Range header to something like <code>Range: 0-</code>, meaning that we want the first byte of whatever the server is serving and are lazy about the rest of the content. Just give us as much as the server can.</p>
  
  <p>The second is to set the Range header to something like <code>Range: 0-2000/*</code>, meaning that we explicitly want bytes 0 through 2000 and we don't care how large the file is that the server is serving.</p>
  
  <p>These requests - if deemed valid by the server (which we now state, is indeed valid) - are then answered by HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.7" rel="nofollow">206</a> responses.</p>
  
  <p>My question is: what is the most professional approach to serving a file through Partial responses, as discussed above. Would it be serving all bytes the client who sent the request does not have at once, i.e. if a request with <code>Range: 0-</code> comes in serving bytes 0 through the last byte? Or would it be to split up the file and when a request with <code>Range: 0-</code> comes in only serve a number of bytes, i.e. bytes 0 through 500? Or something different alltogether?</p>
  
  <p>I have this question because a current code base of mine seems to be blocking, thus no more than five or so requests can be handled at a given time. </p>