На самом деле, я думаю, что составная часть - это красная сельдь, потому что концепция составной части состоит в том, чтобы просто разграничить типы контента в одном теле сообщения. Таким образом, с точки зрения сервера (с точки зрения скорости, с которой отправляется контент), он на самом деле не отличается от отправки одного большого куска данных.
Итак, мне интересно, можете ли вы, чтобы заголовок Range мог запрашивать только определенный диапазон - по одной "части" за раз.
Начните считать байты с конца заголовков ответа. Когда вы дойдете до конца первой части, запишите количество прочитанных байтов и закройте соединение. Отправить заявку на
тот же документ, но в качестве байтов в конце фрагмента укажите начальный диапазон. Снова, прочитайте ответ, когда вы достигнете конца части, добавьте текущие байты ответа к предыдущему, закроете соединение и повторите ad nauseam ...
Не пробовал, но похоже, что он будет работать при условии, что сервер поддерживает заголовки диапазона, и при условии, что вы сможете сделать некоторые исправления на стороне клиента.
Может быть проще написать клиентский прокси, который ограничивает скорость, отбрасывая пакеты ...