Link Fingerprints are intended for complete file downloads, but many 
download managers like DownThemAll request multiple chunks in parallel 
to increase throughput. The problem is what should be done with these 
partial Range requests for URIs that have a Link Fingerprint?

There's 2 choices of what to do with Link Fingerprints for Range 
requests as the provider of the network channel.

1) Ignore the Link Fingerprint
2) Enforce the Link Fingerprint

(1) makes download manager providers' lives easier - things continue to 
work without any changes

(2) forces download managers to be aware of Link Fingerprints. If they 
don't realize there's a concept of Link Fingerprints, transfers will 
mysteriously fail when doing Range requests. This means they need to 
explicitly remove the #fragment-id before requesting the transfer, but 
because of this, they make the active decision to either support Link 
Fingerprints by implementing it or choose not to compute the hash.

Enforcing Link Fingerprints provides additional functionality in that 
Range requests can be Link Fingerprinted. This means assuming the hash 
of the specific range is known, the network channel can automatically 
compute the hash to ensure it was transferred correctly.

This could be useful with resources that provide checksum data such as 
Metalinks, so not only would it let the download manager know what the 
overall file checksum should be, individual parts can be given a 
checksum - somewhat similar to how bittorrent has a checksum for each piece.

Ed
_______________________________________________
dev-tech-network mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-network

Reply via email to