HTML5 Audio Player делает несколько запросов GET при загрузке. Почему?

Я работал над плагином jquery, который использует аудиоплеер HTML5 () для воспроизведения mp3. Я заметил, что в различных браузерах при загрузке аудиоплеера было сделано несколько запросов GET для одного и того же файла MP3.

Я создал простой автономный файл HTML для проверки этого.

<html>
<head></head>

<body>
    <audio controls src="http://localhost:5000/files/one.mp3" type="audio/mp3"></audio>
<body>  
<html>

При открытии страницы в OS X Safari 5.0 .1 я видел следующие журналы с моего веб-сервера (3 запроса GET):

>> Thin web server (v1.2.7 codename No Hup)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:5000, CTRL+C to stop
127.0.0.1 - - [17/Aug/2010 11:09:32] "GET /one.mp3 HTTP/1.1" 200 4030432
0.0022
127.0.0.1 - - [17/Aug/2010 11:09:32] "GET /one.mp3 HTTP/1.1" 200 4030432
0.0012
127.0.0.1 - - [17/Aug/2010 11:09:32] "GET /one.mp3 HTTP/1.1" 200 4030432
0.0010

Обратите внимание, что запросы относятся к «GET /one.mp3», а не к «GET /files/one.mp3», поскольку мой тонкий веб-сервер работает с префиксом /files.

We, открывая тот же HTML-файл в OS X Chrome, я видел 2 запроса GET для /one.mp3.

When, открывая тот же HTML-файл в OS X Opera, я видел 1 GET запрос для /one.mp3.

В чем причина нескольких запросов GET для одного файла? Пропускная способность на моем сервере ограничена, и я регулирую соединения со скоростью 75 КБ / с (это HTTP-соединение, а не пользовательское). Меня беспокоит то, что если Safari установит 3 HTTP-соединения для загрузки (потокового воспроизведения) одного mp3-файла, это сократит количество одновременных пользователей, с которыми может работать мой сервер.

Это то, о чем я должен беспокоиться с точки зрения производительности / пропускной способности ? Кроме того, мне любопытно, почему некоторые браузеры делают несколько запросов на один и тот же файл, а другие нет.

11
задан Jeremy Banks 23 November 2012 в 16:44
поделиться