Every module a browser would load for the app, following imports from the entry. While Vite's dependency optimizer is still scanning it can answer with a non-200 (a real browser recovers via Vite's client), so a crawl that meets one starts over.
fetch, retried once when a pooled keep-alive connection is reset: the server may close an idle socket just as it is reused, which happens when a loaded machine stretches the gaps between requests. Browsers retry these too.