Интересно, можно ли определить начальный и конечный байты в запросах диапазона HTTP или позволить браузеру каким-то образом узнать, с чего начать, и позволить ему использовать определенный пользователем размер фрагмента или около того. У меня есть файл в моей базе данных, и он разбит на несколько частей, каждая часть составляет 2 МБ.
например. Файл 20 МБ => 10 чанков
Когда браузер начинает скачивать файл (видео файл), я изучил Chrome, он сначала проверяет диапазон 'range=bytes 0-'
байт и если сервер успешно отвечает "правильными" байтами и 206 заголовками обратно, то отправляет еще один запрос на конечные байты файла, например 'range=bytes 1900000-'
,
Он просто проверяет, хорошо ли ваш сервер отвечает на частичный ответ.
На стороне сервера я закодировал свое приложение так, чтобы оно отправляло частичные 2 МБ, если вы хорошо попросите об этом :)
Что я хочу, чтобы браузер делал
range=bytes 0-'
range=bytes 2000000-4000000 bytes'
range=bytes 4000000-6000000 bytes'
Но если вы спросите частичный файл, который не помещается в блок размером 2 МБ, он выдаст ошибку. Или он просто не будет воспроизводиться с правильной позиции для аудио/видеофайла.
range=bytes 2500000-4000000 bytes'
range=bytes 0-1000000 bytes'
это выдаст ошибку, потому что я не могу начать отправку с части чанка. В противном случае мне придется нарезать свои куски и выполнить некоторые операции с буфером. Но я хочу содержать его в чистоте. Если это возможно, пожалуйста, дайте мне знать.