Servindo dados de áudio de um servlet Java para um controle de áudio HTML5

Esta pode ser uma pergunta sobre Servlets ou uma pergunta sobre HTML5, dependendo do que a solução for ... :)

Eu tenho um (Tomcat) Servlet servindo clipes curtos de áudio que são então capturados em um elemento de áudio HTML5. O áudio é reproduzido corretamente, mas em alguns navegadores apenas uma vez (para que a tentativa de "retroceder" ou reproduzir o áudio não funcione). Eu suspeito que isso é porque meu Servlet não está relatando que ele suporta solicitações de intervalo: eu percebo que dado um arquivo de áudio estático no mesmo servidor, o Apache adiciona o cabeçalho de resposta HTTP "range-unit" e reproduzir o arquivo funciona em tal casos. Por isso, suponho que nos navegadores em que estou tendo o problema, para reproduzir o arquivo, o navegador faça uma solicitação de Intervalo de Conteúdo HTTP em vez de armazenar em buffer todo o arquivo ou solicitar novamente o arquivo inteiro. (Pelo menos no Safari, repetir o áudio servido pelo meu Servlet funciona bem: acho que o Safari armazena o áudio inteiro.)

Então minhas perguntas:

Existe uma maneira no HTML de solicitar que o navegador armazene em buffer todo o arquivo de áudio em reprodução para permitir replays em vez de o servidor precisar necessariamente suportar solicitações de intervalo?

se não, alguém tem alguma experiência de responder a solicitações de intervalo de um Servlet? Estou assumindo que é apenas um caso de (a) enviar um código de resposta "range-unit" em resposta à solicitação inicial e, em seguida, (b) procurar por cabeçalhos de solicitação HTTP relevantes ("Content-Range?") é assim que eles são tratados?) em solicitações subseqüentes e apenas servindo a parte relevante do áudio? Há alguma armadilha que eu deveria estar ciente?

questionAnswers(1)

yourAnswerToTheQuestion