При размерах 500 МБ + нужно беспокоиться о целостности данных, а HTTP не предназначен для обеспечения целостности данных.
Я бы лучше использовал привязки python для rsync (если они существуют) или даже для bittorrent, который изначально был реализован в python. И rsync, и bittorrent решают проблему целостности данных.