【发布时间】:2017-09-22 21:54:18
【问题描述】:
本周我正在研究使用 Angular 进行服务器端渲染。它的架构似乎是完全同构的,因此,如果您在服务器或客户端上获取数据,则运行的是同一行代码。因此,它会发出类似this.http.get('http://www.example.com/myurl'); 的调用,其中this.http 将是来自@angular/http 的Http 的一个实例。
在客户端,这非常清楚。这意味着浏览器正在向我的服务器发出 XHR 请求。
在服务器端...幕后实际发生了什么?我想节点服务器完全不知道它的域,会发出一个常规的 http 请求,通过 DNS 查找和一切,只是为了找到自己?
准确吗?
【问题讨论】:
-
我不明白这个问题。客户端将向服务器发出 HTTP 请求。服务器拦截请求并相应地发送回复。
-
我想你会得到页面 HTML 作为响应
-
你的假设是正确的。节点服务器会简单地向
${req.protocol}://${req.headers.host}/your/relative/route发出一个新的 HTTP 请求,甚至不知道它最终会向自己发出请求。 -
@Booster2ooo,是的,当代码在客户端上运行时,就会发生这种情况。我想知道当我的节点快速服务器运行一行代码来生成 XMLHTTPRequest 时,它实际上是否只是通过 DNS 访问互联网并返回?
-
@idbehold 任何支持文档?或者这是常识,就像我在想的那样?总的来说,我想知道什么样的奇怪性能会受到影响,出去回到自己身边:) 我看过的其他框架,我可以在服务器上获取数据而不是在客户端上获取数据,因此忽略了这个问题。即进行 db 调用并填充状态,而不是使用任何一种方式进行 api 调用
标签: javascript node.js angular