问题标签 [http-pipelining]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
27 浏览

http - 我可以在 HTTP 2 上做类似于流水线的事情吗?

流水线是 HTTP/1.1 中的一种技术,在该技术中,多个请求在保活连接上一次发送而无需等待响应。然后服务器按顺序返回响应,而无需等待发送响应和接收下一个请求之间的往返时间。

HTTP/2 添加了一个称为多路复用的功能,它同样允许客户端一次发送多个请求。但是,在这种情况下,服务器可以一次发送所有响应。

在没有服务器控制的情况下,我可以在使用 HTTP/2 时实现类似于流水线的功能(即一次按顺序接收响应,并且响应之间没有延迟)吗?

这在下载许多大文件时很有用,没有太多可用内存来缓冲几个部分完成的响应。

0 投票
1 回答
191 浏览

angular - ASP.NET Core 3.1 和 Angular:将 api 调用重定向到登录页面

在我的 ASP.NET Core 3.1 - Angular 9 Web 应用程序中,这是我的管道:

角度前端将使用身份验证令牌来授权对各种路由的访问,这些都正常工作。

问题:我的后端控制器使用标准的“ api/{controller}/{action}”路径,从某种意义上说,如果将 api 调用直接键入浏览器 URL 地址栏,它将立即返回 401 错误而不执行端点,因此它们受到了适当的保护。但我想要做的是重定向到具有登录部分的主页。我已经搜索并尝试了很多方法,无法让它发挥作用。

我的 Angular 前端有一个检测 401/403 错误的拦截器,但如果它来自直接输入浏览器地址栏的 api 端点路径,它不会拦截。

我还尝试在“api ...”路径上使用身份验证保护,但它没有击中它,因为 SPA 路径是为何时定义的

在后端,显然这些 api 端点已经通过管道受到保护,我在任何一个或中间件中UseAuthentication()都看不到可以配置重定向的方法。UseRoutingUseEndpoints

因此,当直接在浏览器的 URL 地址栏中键入 api 调用时,我对如何处理重定向感到迷茫。

(附带说明:在运行时似乎无法调试/单步执行 http 管道,例如在调用每个 api 端点时,这对于理解进程非常有用)。