【问题标题】:In an HTTP GET request to a Node.js webserver, how does the client know which assets to request?在对 Node.js 网络服务器的 HTTP GET 请求中,客户端如何知道要请求哪些资产?
【发布时间】:2020-08-07 06:05:19
【问题描述】:

我有一个 node/express 网络服务器,当我将浏览器定向到像“/”这样的 URL 时,我会看到请求通过这样做进来

console.log(req.url);

第一个 URL 始终只是端点本身。 /。在那之后,尽管客户端立即开始为myJavaScript.jsmyStyle.cssmyHTML.html 等发送其他新请求。关键是,这些都是单独的请求。服务器没有响应大量资产目录,客户端对每个资产提出了单独的请求

客户如何知道要请求哪些资产?除非我的服务器告诉他,否则客户端可能不知道myStyle.css 的存在。我的服务器知道应该为任何给定的 URL 发送哪些资产,因为我在服务器代码中编写了它,特别是使用 express.static()。那么客户端是如何知道要请求哪些 URL 的呢?

我的怀疑是,当请求端点 (/) 时,响应包括客户端应在不久的将来请求的资产的 URL 列表。对吗?

【问题讨论】:

    标签: node.js express http


    【解决方案1】:

    客户端知道,因为客户端读取 HTML,并且在您的 HTML 中您指向这些 url。

    你的 HTML 可能有一个<link rel="stylesheet" /> 标签,所以它会读取它并获取它需要的东西。这确实是网络的核心功能,一切都是链接,客户使用链接来确定下一步该做什么。

    【讨论】:

    • 嗯,好的,所以对/ 的响应是 index.html,然后其余的资产都是从它派生的?
    • 是的,通常是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 2017-07-31
    • 2018-03-05
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多