The browser may store the response but must revalidate it with the server before each use The response is cached forever Caching is disabled only for images The browser must never store the response
Parse HTML into the DOM and CSS into the CSSOM → build the render tree → layout → paint → composite JavaScript → paint → DOM Paint → layout → DOM Layout → DOM → CSSOM → paint
async preserves the order; defer does not They are identical defer runs scripts in document order after the HTML is parsed; async runs each script as soon as it downloads, in any order defer blocks parsing
Yes, each function runs on its own thread Only in Chrome No; it runs on a single main thread with an event loop, and Web Workers provide background threads Yes, when async is used
It keeps a snapshot of the page in memory so that back and forward navigation is instant It caches only images It caches the DNS lookups It saves the history to disk
It uses one thread for all tabs and extensions It has no sandbox It is multi-process, with separate renderer processes (site isolation), so one crashed tab does not crash the whole browser It runs every tab in one single process