Co tak naprawdę oznacza kod http 206 (treść częściowa)?

13

Buduję stronę (używając video.js, jeśli powinna mieć znaczenie), która zawiera odtwarzacze dla stosunkowo dużej liczby filmów - kliknij przycisk na miniaturze obrazu i otworzy się odtwarzacz modalny, odtwarzając wideo. Działa w porządku; nie ma sprawy. Mój serwer to Apache 2.2.15, fwiw.

Pytanie: kiedy patrzę na dzienniki mojego serwera, widzę wpisy dla każdego z filmów z kodem HTTP 206 (częściowa zawartość), takie jak:

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"

Nie jestem pewien, co dokładnie oznaczają te wpisy. Czy po załadowaniu tej strony 1,1 MB rzeczy zostało naprawdę przekazane klientowi przez sieć, czy jest to tylko informacja, z której klient powinien korzystać, gdy / jeśli plik jest naprawdę żądany przez użytkownika? Zrzucenie tych wszystkich rzeczy na użytkownika / klienta byłoby fajną rzeczą do zrobienia czyjejś przepustowości (niech wzdłuż mojej strony), szczególnie w przypadku połączenia mobilnego. (Na podstawie dodatkowej analizy dziennika wygląda na to, że te bity są naprawdę wypychane, ale sprawdzanie tego z innymi bardziej kompetentnymi ludźmi z pewnością wydaje się właściwą rzeczą ...)

Jim Miller
źródło
„więcej rzeczy” jest prawdopodobnie ważne. Prawdopodobnie powinieneś to uwzględnić.
Michael Hampton
Przepraszam; zobacz zmiany. To tylko ja patrzę na stronę w Mac / Safari, chociaż nie widzę żadnych dużych różnic w zachowaniu w innych przeglądarkach.
Jim Miller

Odpowiedzi:

15

Dla mnie to wygląda zupełnie normalnie. Większość odtwarzaczy wideo (a nawet audio!) Żąda jednocześnie małych fragmentów pliku, a następnie żąda więcej, ponieważ użytkownik faktycznie odtwarza film. 206 jest wysyłany tylko wtedy, gdy klient użytkownika konkretnie żąda określonego zakresu pliku, a nie całego pliku.

Michael Hampton
źródło
Myślę też, że to normalne; Chodzi mi o to, czy pierwsza część wideo została przekazana klientowi w ramach ładowania strony. Mówisz, że tak jest?
Jim Miller
1
Apache nie zaloguje która część pliku użytkownik współpracującego, ale pozostaje faktem, że użytkownik dokonał częściowej prośbę. Więc coś na twojej stronie powoduje, że klient ładuje część wideo.
Michael Hampton
Rozumiem - najprawdopodobniej inicjuje się odtwarzacz wideo. Dzięki!
Jim Miller