【问题标题】:How to act as a middleman server to add HTTP headers between client and remote server?如何充当中间人服务器在客户端和远程服务器之间添加 HTTP 标头?
【发布时间】:2021-02-18 07:30:34
【问题描述】:

我有一个服务器,它充当我无法控制的 HTTP 客户端和我无法控制的远程文件托管服务器之间的中间人。我想公开一个 URL,客户端可以通过该 URL 下载远程服务器上的文件块(由我的服务器提供的 HTTP 范围标头指定)。

这里有两个重要的限制:我想促进这个部分下载没有让响应流回我的服务器(响应直接到客户端)和没有 编写自定义客户端。我怎样才能做到这一点?

我尝试的一个选项是让我的端点发送一个重定向响应,并在响应中设置范围标头,但不幸的是,这些标头不会转发到来自客户端的后续请求,因此整个文件都被下载了。考虑到限制,我可以使用其他任何技巧/网络魔法来实现这一目标吗?

【问题讨论】:

  • 简而言之,我认为这是不可能的。如果您不想要自定义客户端,则需要依赖 HTTP 的语义。这意味着重定向,并且重定向根本无法指示应使用范围标头。
  • 感谢@KevinChristopherHenry 的回复。我认为你是对的,我需要考虑另一种方法来做到这一点。

标签: http proxy network-programming range-header


【解决方案1】:

我也在考虑这个问题,因为 5 天以来,这就像服务器仅在您从您身边提供所需的标头并且没有标头时才向您提供文件,如果它确实收到带有所需标头的请求,它将拒绝您的请求和中间人,那么文件将是可通过您的中间人访问客户端,并且您正在尝试从服务器获取文件,而不是从您的自定义服务器获取文件,该服务器试图将标头传递给您的客户端的服务器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 2011-02-10
    • 2023-03-12
    • 1970-01-01
    • 2015-08-02
    相关资源
    最近更新 更多