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