ogv.jsについて調べてた時に、Ajaxでストリーミングとか途中再生ってどうやってるのだろうと思ったので調べてみました。 Rangeヘッダ ogv.jsのデモをコンソールで見ると、動画のリソースを細切れにして取ってきていることが分かります。リクエストヘッダにRangeで取得バイト数の範囲を指定すると、その分がレスポンスとして返ってくるという仕組みです。(そういえば大昔に2chブラウザを作った時に、Rangeヘッダで差分取得をやったことがあるのを思い出しました。) ちなみにレスポンスは206 Partial Contentが返ってきて、ヘッダのContent-Rangeには取得した範囲とファイルサイズが書かれています。 HTTP/1.1 206 Partial Content Accept-Ranges: bytes Content-Length: 1048576 Content-Rang
![動画ストリーミングの仕組み](https://cdn-ak-scissors.b.st-hatena.com/image/square/7794ad8016dc3de947e2b6f3ffde6c7280cda4e3/height=288;version=1;width=512/http%3A%2F%2Fneco.tech%2Fblog%2Fogp.png)