3.5 Version 1.0 Content Information, 125 MB Content Range Request
Scenario: The same server S now receives a client request for a content range in a 125-megabyte (MB) file. The content range starts at an offset that is 100 KB into the file and ends at an offset that is 124 MB into the file, for a total length of 126,876 KB. The server responds with Content Information of the following form.
|
Offset |
Size |
Type |
Name |
Value |
|---|---|---|---|---|
|
0 |
2 |
Version |
0x100 |
|
|
2 |
4 |
dwHashAlgo |
0x800C |
|
|
6 |
4 |
DWORD |
dwOffsetInFirstSegment |
102400 |
|
10 |
4 |
DWORD |
dwReadBytesInLastSegment |
0x1C00000 |
|
14 |
4 |
DWORD |
cSegments |
4 |
|
18 |
8 |
ullOffsetInContent |
0 |
|
|
26 |
4 |
DWORD |
cbSegment |
0x2000000 |
|
30 |
4 |
DWORD |
cbBlockSize |
0x10000 |
|
34 |
32 |
BYTE[] |
SegmentHashofData |
SHA-256 hash of all 512 content block hashes for the first segment. |
|
66 |
32 |
BYTE[] |
SegmentSecret |
SHA-256 hash of segment hash of data and "no more secrets". |
|
98 |
8 |
ULONGLONG |
ullOffsetInContent |
0x2000000 |
|
106 |
4 |
DWORD |
cbSegment |
0x2000000 |
|
110 |
4 |
DWORD |
cbBlockSize |
0x10000 |
|
114 |
32 |
BYTE[] |
SegmentHashofData |
SHA-256 hash of all 512 content block hashes for the second segment. |
|
146 |
32 |
BYTE[] |
SegmentSecret |
SHA-256 hash of segment hash of data and "no more secrets". |
|
178 |
8 |
ULONGLONG |
ullOffsetInContent |
0x4000000 |
|
186 |
4 |
DWORD |
cbSegment |
0x2000000 |
|
190 |
4 |
DWORD |
cbBlockSize |
0x10000 |
|
194 |
32 |
BYTE[] |
SegmentHashofData |
SHA-256 hash of all 512 content block hashes for the third segment. |
|
226 |
32 |
BYTE[] |
SegmentSecret |
SHA-256 hash of segment hash of data and "no more secrets". |
|
258 |
8 |
ULONGLONG |
ullOffsetInContent |
0x6000000 |
|
266 |
4 |
DWORD |
cbSegment |
0x1D00000 |
|
270 |
4 |
DWORD |
cbBlockSize |
0x10000 |
|
274 |
32 |
BYTE[] |
SegmentHashofData |
SHA-256 hash of all 464 content block hashes for the fourth segment. |
|
306 |
32 |
BYTE[] |
SegmentSecret |
SHA-256 hash of segment hash of data and "no more secrets". |
|
338 |
4 |
DWORD |
cBlocks |
512 |
|
342 |
32 |
BYTE[] |
block hash |
SHA-256 hash of the first 64 kilobyte block of the content. |
|
… |
|
|
|
|
|
16694 |
32 |
BYTE[] |
block hash |
SHA-256 hash of bytes 0x1FF0000 through 0x2000000 of the content. |
|
16726 |
4 |
DWORD |
cBlocks |
512 |
|
16730 |
32 |
BYTE[] |
block hash |
SHA-256 hash of bytes 0x2000000 through 0x2010000 of the content. |
|
… |
|
|
|
|
|
33082 |
32 |
BYTE[] |
block hash |
SHA-256 hash of bytes 0x3FF0000 through 0x4000000 of the content. |
|
33114 |
4 |
DWORD |
cBlocks |
512 |
|
33118 |
32 |
BYTE[] |
block hash |
SHA-256 hash of bytes 0x4000000 through 0x4010000 of the content. |
|
… |
|
|
|
|
|
49470 |
32 |
BYTE[] |
block hash |
SHA-256 hash of bytes 0x5FF0000 through 0x6000000 of the content. |
|
49502 |
4 |
DWORD |
cBlocks |
448 |
|
49506 |
32 |
BYTE[] |
block hash |
SHA-256 hash of bytes 0x6000000 through 0x6010000 of the content. |
|
… |
|
|
|
|
|
64322 |
32 |
BYTE[] |
block hash |
SHA-256 hash of bytes 0x7BF0000 through 0x7C00000 of the content. |