Simetrical wrote:
On Wed, Apr 16, 2008 at 9:38 AM, Anthony wrote:
TCP checksums each packet, so I'm not even sure bittorrent is more reliable in theory.
In theory:
BitTorrent uses SHA1, TCP uses CRC32 (IIRC). CRC32 is more error-prone.
TCP only insures that the packet was transmitted correctly, not
that the packet was correct in the first place. If, for instance, the torrent is published, some server or other stores a chunk to disk, and the chunk acquires an error on disk, BitTorrent will catch the error when someone requests the chunk. TCP will not, because the error was not on the network.
Fine theory, but downloads corrupt, and not because they do in the source server (redownloading wouldn't fix it).
Id' like to have into the http spec GET /file HTTP/1.1 Range: 1-1024 Unless-sha1: AABBCCDDEE
That functionality could already be provided if doing a HEAD Range: request returned a Content-MD5 header, which lighttpd isn't doing. Although perhaps APACHE with ContentDigest does.