HTTP には,
Range と呼ばれるデータの一部分だけを取得する機能があります.
これを Python3 で試してみました.
>>> import http.client >>> conn = http.client.HTTPConnection("www.google.co.jp") >>> conn.putrequest('GET', '/') >>> conn.putheader('Range', 'bytes=0-10') >>> conn.endheaders() >>> res = conn.getresponse() >>> print(res.status, res.reason) 200 OK >>> data = res.read() >>> print(len(data)) 14486 >>> conn = http.client.HTTPConnection("www.python.org") >>> conn.putrequest('GET', '/') >>> conn.putheader('Range', 'bytes=0-3') >>> conn.endheaders() >>> res = conn.getresponse() >>> print(res.status, res.reason) 206 Partial Content >>> data = res.read() >>> print(len(data)) 4