Tengo una pequeña aplicación web Spring Boot que se ejecuta en un servidor Tomcat. Consiste únicamente en una sola página html. Esta página carga algunos archivos css en la sección principal y dos archivos js al final del cuerpo.
Cuando cargo la página en Chrome (misma situación en Firefox, etc.) con un caché de navegador vacío , el html se carga correctamente pero los archivos css/js obtienen un 404 (ver la primera imagen). El resultado es que la página está completamente sin estilo y sin funciones. Cuando presiono F5, la página se carga por completo y se ve y funciona como se esperaba (ver imagen 2). ¡Este comportamiento es reproducible! Si vuelvo a cargar la página sin eliminar la cookie jsessionid, la página siempre carga todo.
El problema parece ser que no hay jsessionid-cookie presente en la primera carga de la página html. La respuesta HTTP a esa primera solicitud HTTP entrega una cookie jsessionid que usan las otras solicitudes HTTP (como puede ver en la primera imagen). Pero la sesión parece no ser reconocida en el servlet.
Cada carga de página posterior tiene una cookie presente en la primera solicitud HTTP. Incluso si jsessionid-cookie no es válida, la página se carga por completo.
No importa si la conexión es localhost o un servidor remoto, si es HTTP o HTTPS, si es HTTP 1.1 o HTTP 2.
¿Alguien sabe si esto es un problema de configuración? ¿O algo especial para spring-boot o tomcat?
Se agradecen ideas.