Что на самом деле означает http код 206 (частичное содержание)?

13

Я создаю страницу (используя video.js, если это имеет значение), которая содержит игроков для достаточно большого количества видео - нажмите кнопку на миниатюре изображения, и модальный проигрыватель откроется, воспроизводя видео. Работает отлично; ничего страшного. Мой сервер Apache 2.2.15, fwiw.

Вопрос: когда я просматриваю журналы своего сервера, я вижу записи для каждого видео с HTTP-кодом 206 (частичное содержимое), например:

GET /videos/a_video.mp4 HTTP/1.1" 206 1130496 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11"

Я не уверен, что именно означают эти записи. Когда эта страница загружалась, действительно ли 1,1 МБ материала действительно передавалось клиенту по сети или это просто информация, которую клиент должен использовать, когда / если файл действительно запрашивается пользователем? Перенос всего этого материала на пользователя / клиента был бы довольно скучным делом с чьей-то пропускной способностью (пусть и вдоль моего сайта), особенно на мобильном соединении. (Основываясь на каком-то дополнительном анализе логов, кажется, что эти биты действительно расталкиваются, но проверка этого с другими более знающими людьми, безусловно, кажется правильным решением ...)

Джим миллер
источник
"больше вещей", вероятно, важно. Вы, вероятно, должны включить это.
Майкл Хэмптон
Сожалею; см. правки Это только я смотрю на страницу в Mac / Safari, хотя я не вижу больших различий в поведении с другими браузерами.
Джим Миллер

Ответы:

15

Это выглядит совершенно нормально для меня. Большинство проигрывателей видео (и даже аудио!) Запрашивают небольшие порции файла за раз, а затем запрашивают больше, поскольку пользователь фактически воспроизводит видео. 206 отправляется только тогда, когда пользовательский агент специально запрашивает определенный диапазон файла, а не весь файл.

Майкл Хэмптон
источник
Я думаю, что это тоже нормально; Мой вопрос / вопрос заключается в том, была ли первая часть видео фактически передана клиенту как часть загрузки страницы. Вы говорите, что это так?
Джим Миллер
1
Apache не регистрирует, какую часть файла запрашивал пользователь, но факт остается фактом: пользователь сделал частичный запрос. Итак, что-то на вашей странице заставляет клиента загружать часть видео.
Майкл Хэмптон
Понял - скорее всего, видео плеер инициализирует себя. Благодарность!
Джим Миллер