¿Puede un servidor http detectar que un cliente ha cancelado su solicitud?

Mi aplicación web debe procesar y servir una gran cantidad de datos para mostrar ciertas páginas. A veces, el usuario cierra o actualiza una página mientras el servidor todavía está ocupado procesándola. Esto significa que el servidor continuará procesando datos durante varios minutos solo para enviarlos a un cliente que ya no está escuchando.

¿Es posible detectar que la conexión se ha roto y reaccionar ante ella?

En este proyecto en particular, estamos usando Django y NginX, o Apache. Supuse que esto es posible porque el servidor de desarrollo de Django parece reaccionar a las solicitudes canceladas al imprimir excepciones de Broken Pipe. Me encantaría que generara una excepción que podría atrapar mi código de aplicación.Parece que JSP puede hacer esto. Entonces puede node.js aquí.

Alternativamente, podría registrar un controlador de eventos de descarga en la página en cuestión, hacer que realice un XHR sincrónico solicitando que se cancele la solicitud anterior de este usuario, y hacer algún tipo de comunicación entre procesos para hacerlo. Quizás si el procesamiento de datos más lento se transfiriera a otro proceso que pudiera identificar y eliminar más fácilmente, sin eliminar el proceso de respuesta ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta