Пример сеанса запроса диапазона http
можно ли показать мне пример http-сеанса с запросами диапазона. Я имею в виду, какими будут заголовки запроса и ответа?
1 ответ:
следующий обмен происходит между Chrome и статическим веб-сервером, извлекая видео MP4.
первоначальный запрос на видео. Обратите внимание на
Accept-Ranges
заголовок ответа, чтобы указать, что сервер поддерживает заголовок Range:GET /BigBuckBunny_320x180.mp4 Cache-Control: max-age=0 Connection: keep-alive Accept-Language: en-GB,en-US,en Host: localhost:8080 Range: Accept: text/html,application/xhtml+xml,application/xml,*/* User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 ... Accept-Encoding: gzip,deflate,sdch Accept-Charset: ISO-8859-1,utf-8,* 200 OK Content-Type: video/mp4 Connection: keep-alive Last-Modified: Wed,14 Dec 2011 15:50:59 GMT ETag: A023EF02BD589BC472A2D6774EAE3C58 Transfer-Encoding: Content-Length: 64657027 Accept-Ranges: bytes Server: Brisket/1.0.1 Date: Wed,14 Dec 2011 16:11:24 GMT
заголовок диапазона в предыдущем обнаруженном ответе-последующий запрос с открытым диапазоном для подтверждения поддержки. Ответ возвращает состояние 206 и
Content-Range
заголовок для указания байтов, присутствующих в ответе тело:GET /BigBuckBunny_320x180.mp4 Connection: keep-alive Accept-Language: en-GB,en-US,en Host: localhost:8080 Range: bytes=0- Accept: */* User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 ... Referer: http://localhost:8080/BigBuckBunny_320x180.mp4 Accept-Encoding: identity Accept-Charset: ISO-8859-1,utf-8,* 206 Partial Content Content-Type: video/mp4 Connection: keep-alive Last-Modified: Wed,14 Dec 2011 15:50:59 GMT ETag: A023EF02BD589BC472A2D6774EAE3C58 Transfer-Encoding: Content-Length: 64657027 Accept-Ranges: bytes Server: Brisket/1.0.1 Date: Wed,14 Dec 2011 16:11:25 GMT Content-Range: bytes 0-64657026/64657027
последующий запрос диапазона для захвата конца файла (вероятно, для захвата конечных метаданных):
GET /BigBuckBunny_320x180.mp4 Connection: keep-alive Accept-Language: en-GB,en-US,en Host: localhost:8080 Range: bytes=64312833-64657026 Accept: */* If-Range: A023EF02BD589BC472A2D6774EAE3C58 User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 ... Referer: http://localhost:8080/BigBuckBunny_320x180.mp4 Accept-Encoding: identity Accept-Charset: ISO-8859-1,utf-8,* 206 Partial Content Content-Type: video/mp4 Connection: keep-alive Last-Modified: Wed,14 Dec 2011 15:50:59 GMT ETag: A023EF02BD589BC472A2D6774EAE3C58 Transfer-Encoding: Content-Length: 344194 Accept-Ranges: bytes Server: Brisket/1.0.1 Date: Wed,14 Dec 2011 16:11:25 GMT Content-Range: bytes 64312833-64657026/64657027
пользователь нажимает на индикатор выполнения видео за пределами загруженного диапазона-выдается запрос диапазона, чтобы начать воспроизведение с выбранной позиции:
GET /BigBuckBunny_320x180.mp4 Connection: keep-alive Accept-Language: en-GB,en-US,en Host: localhost:8080 Range: bytes=1073152-64313343 Accept: */* If-Range: A023EF02BD589BC472A2D6774EAE3C58 User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 ... Referer: http://localhost:8080/BigBuckBunny_320x180.mp4 Accept-Encoding: identity Accept-Charset: ISO-8859-1,utf-8,* 206 Partial Content Content-Type: video/mp4 Connection: keep-alive Last-Modified: Wed,14 Dec 2011 15:50:59 GMT ETag: A023EF02BD589BC472A2D6774EAE3C58 Transfer-Encoding: Content-Length: 63240192 Accept-Ranges: bytes Server: Brisket/1.0.1 Date: Wed,14 Dec 2011 16:11:25 GMT Content-Range: bytes 1073152-64313343/64657027