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:
1) BitTorrent uses SHA1, TCP uses CRC32 (IIRC). CRC32 is more error-prone.
2) 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.