¿Chrome se detiene al hacer múltiples solicitudes al mismo recurso?

Estoy tratando de implementar sondeos largos por primera vez, y estoy usando objetos XMLHttpRequest para hacerlo. Hasta ahora, he tenido éxito en obtener eventos en Firefox e Internet Explorer 11, pero Chrome extrañamente es el extraño esta vez.

Puedo cargar una página y funciona bien. Realiza la solicitud de inmediato y comienza a procesar y mostrar eventos. Si abro la página en una segunda pestaña, una de las páginas comienza a ver retrasos en la recepción de eventos. En la ventana de herramientas de desarrollo, veo múltiples solicitudes con este tipo de sincronización:

"Atascado" durará hasta 20 segundos. No sucederá en cada solicitud, pero generalmente sucederá en varias solicitudes seguidas y en una pestaña.

Al principio pensé que esto era un problema con mi servidor, pero luego abrí dos pestañas de IE y dos pestañas de Firefox, y todas se conectan y reciben los mismos eventos sin detenerse. Solo Chrome está teniendo este tipo de problemas.

Creo que esto es probablemente un problema con la forma en que estoy haciendo o presentando la solicitud. Como referencia, los encabezados de solicitud se ven así:

Connection: keep-alive
Last-Event-Id: 530
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36
Accept: */*
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8

La respuesta se ve así:

HTTP/1.1 200 OK
Cache-Control: no-cache
Transfer-Encoding: chunked
Content-Type: text/event-stream
Expires: Tue, 16 Dec 2014 21:00:40 GMT
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 16 Dec 2014 21:00:40 GMT
Connection: close

A pesar de los encabezados involucrados, no estoy usando el EventSource nativo del navegador, sino un polyfill que me permite configurar encabezados adicionales. El polyfill está utilizando XMLHttpRequest debajo de las cubiertas, pero me parece que no importa cómo se realice la solicitud, no debería detenerse durante 20 segundos.

¿Qué podría estar causando que Chrome se detenga de esta manera?

Editar: La página chrome: // net-internals / # events de Chrome muestra que hay un error de tiempo de espera involucrado:

t=33627 [st=    5]      HTTP_CACHE_ADD_TO_ENTRY  [dt=20001]
                --> net_error = -409 (ERR_CACHE_LOCK_TIMEOUT)

El mensaje de error hace referencia a un parche agregado a Chrome hace seis meses (https://codereview.chromium.org/345643003), que implementa un tiempo de espera de 20 segundos cuando se solicita el mismo recurso varias veces. De hecho, uno de los errores que el parche intenta corregir (número de error 46104) se refiere a una situación similar, y el parche está destinado areducir el tiempo pasado esperando.

Es posible que la respuesta (o solución) aquí sea hacer que las solicitudes se vean diferentes, aunque quizás Chrome podría respetar el encabezado "sin caché" que estoy configurando.

Respuestas a la pregunta(3)

Su respuesta a la pregunta