2016-07-12 9 views
6

Mój przyjaciel próbował pobrać Twitter klip wideo i znalazłem coś takiego w kodzie HTML:W jaki sposób blob: protokół działa jako źródło <video>?

<video preload="auto" data-id="content" data-type="content" src="blob:https%3A//twitter.com/7897de6d-6eed-4905-9ed2-00ea3d2c99d5" class="visible paused" style="width: 100%; height: 100%;"></video> 

Jestem tak samo zaskoczony jak był kiedy próbowałem dowiedzieć się prawdziwe źródło strumienia wideo (sprawdzając konsolę sieciową przeglądarki i uderzając w proxy). Podczas odtwarzania wideo bajty wydają się znikąd.

W jaki sposób przeglądarka rozumie "protokół" typu blob?

Odpowiedz

1

Bloby są sposobem obsługi pamięci należącej do przeglądarki. Mogą to być pliki lub dane z obszaru roboczego lub dane, które są obliczane w inny sposób. Gdy dane są ładowane w taki sposób, że dostęp do nich ma JavaScript, można utworzyć BlobURI, który jest adresem URL wskazującym strukturę wewnętrznej pamięci.

W przypadku Twitterze Korzystanie z blob URL do filmu, to podejrzewam, że są one albo buforowania wideo poprzez canvas aby zastosować filtr lub używasz blobs do jakiegoś bufora lokalnego. Tak czy inaczej, oznacza to, że pamięć była dostępna dla JS w pewnym momencie w przeszłości.

Powiązane problemy