title: http pseudo-streaming in IE11
body: <p>I have some videos and I need to be able to seek to various points in them without having downloaded the entire video prior to that point. So far I have it working great in Firefox and Chrome using the html5 video tag with NodeJS and the vid-streamer module. However, IE 11 insists on downloading the entire video, I can't get it to skip ahead until it has downloaded up to the point I want to play. Does IE support partial content, and is there some trick to triggering it? Or is it already asking for it with one of the other headers (GetContentFeatures.DLNA.ORG??) and my server doesn't understand?</p>
  
  <p>Sample firefox request header--it sends a new request whenever you seek, key piece being the range header, which it sends even for the initial request (bytes=0-):</p>
  
  <pre><code>Accept  video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5
  Accept-Language en-us,en;q=0.5
  Connection  keep-alive
  Cookie  connect.sid=...
  Host    ...
  Range   bytes=75661312-
  Referer ...
  User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0
  </code></pre>
  
  <p>And server response:</p>
  
  <pre><code>Accept-Ranges   bytes
  Cache-Control   public
  Connection  keep-alive
  Content-Disposition inline; filename=video.webm;
  Content-Length  12509
  Content-Range   bytes 75661312-75673820/75673821
  Content-Transfer-Encoding   binary
  Content-Type    video/webm
  Date    Wed, 03 Sep 2014 21:42:08 GMT
  Last-Modified   Thu, 28 Aug 2014 15:05:24 GMT
  Pragma  public
  Server  VidStreamer.js/0.1.4
  Vary    Accept-Encoding
  X-Powered-By    Express
  status  206 Partial Content
  </code></pre>
  
  <p>IE11 does not send a range:</p>
  
  <pre><code>Request GET /videos/video.mp4 HTTP/1.1
  Accept  */*
  If-Modified-Since   Mon, 16 Nov 2009 14:05:45 GMT
  User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
  Referer ...
  GetContentFeatures.DLNA.ORG 1
  Pragma  getIfoFileURI.dlna.org
  Accept-Language en-US
  Accept-Encoding gzip, deflate
  Host    ...
  Connection  Keep-Alive
  Cookie  ...
  </code></pre>
  
  <p>And the server (reasonably, I think) responds with the whole video and a 200 OK instead of 206 partial content:</p>
  
  <pre><code>Response    HTTP/1.1 200 OK
  X-Powered-By    Express
  Vary    Accept-Encoding
  Cache-Control   public
  Connection  keep-alive
  Content-Type    video/mp4
  Content-Disposition inline; filename=video.mp4;
  Pragma  public
  Last-Modified   Mon, 16 Nov 2009 14:05:45 GMT
  Content-Transfer-Encoding   binary
  Content-Length  36373917
  Server  VidStreamer.js/0.1.4
  Date    Wed, 03 Sep 2014 21:38:42 GMT
  </code></pre>