title: In an HTTP GET request to a Node.js webserver, how does the client know which assets to request?
body: <p>I have a node/express webserver and when I direct my browser to a URL like '/' I'll see the requests come in by doing</p>
  <pre><code>console.log(req.url);
  </code></pre>
  <p>The first URL is always just the endpoint itself ex. <code>/</code>. After that though the client immediately starts sending other new requests for <code>myJavaScript.js</code>, <code>myStyle.css</code>, <code>myHTML.html</code>, etc. The key is, these are all separate requests. The server didn't respond with a big directory of assets, <em>the client made an individual request for each asset</em>.</p>
  <p>How does the client know which assets to request? Presumably the client can't know that <code>myStyle.css</code> exists unless my server tells him so. My server knows which assets should be sent for any given URL because I wrote it in the server code, specifically, by using <code>express.static()</code>. So how does the client know which URLs to request?</p>
  <p>My suspicion is that when the endpoint is requested (<code>/</code>), the response includes a list of URLs for assets that should be requested by the client in the immediate future. Is that right?</p>