title: Why is the block size for Python httplib's reads hard coded as 8192 bytes
body: <p>I'm looking to make a fast streaming download -> upload to move large files via HTTP from one server to another.</p>
  
  <p>During this, I've noticed that httplib, that is used by urllib3 and therefore also requests, seems to hard code how much it fetches from a stream at a time to 8192 bytes</p>
  
  <p><a href="https://github.com/python/cpython/blob/28453feaa8d88bbcbf6d834b1d5ca396d17265f2/Lib/http/client.py#L970" rel="noreferrer">https://github.com/python/cpython/blob/28453feaa8d88bbcbf6d834b1d5ca396d17265f2/Lib/http/client.py#L970</a></p>
  
  <p>Why is this? What is the benefit of 8192 over other sizes?</p>