【问题标题】:How to make keep-alive header response?如何使保持活动的标头响应?
【发布时间】:2018-01-27 10:25:46
【问题描述】:

我尝试使用 GET 和 POST 制作简单的 Web API 应用程序。当我响应 GET 请求时:

 {
    "status": "OK",
    "headers":
    {
        "Date": "Fri, 18 Aug 2017 16:50:38 GMT",
        "Transfer-Encoding": "chunked",
        "Connection": "close",
        "Content-Type": "application/json; charset=utf-8",
        "Server": "Kestrel"
    },
    "body": "....",
    "code": 200,
    "protocol": "HTTP/1.1"
}

但我想制作"Connection": "keep-alive",而不是"Connection": "close",所以我更改了我的配置。

Startup.cs:

 public void Configure(IApplicationBuilder app,
                       IHostingEnvironment env,
                       ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();
    app.UseMvc();
    app.UseSession();
    app.Run(async (context) =>
    {
        context.Response.Headers[HeaderNames.Connection] = "Keep-Alive";
    });                    
}

但是,我收到了"Connection": "close" 的回复。

知道如何更改为"keep-alive" 设置吗?

【问题讨论】:

    标签: c# asp.net-core http-headers keep-alive asp.net-core-webapi


    【解决方案1】:

    HTTP/1.1 为发送者定义了“关闭”连接选项,以发出响应完成后连接将被关闭的信号。例如,请求或响应头字段中的 Connection: close 表示在当前请求/响应完成后,连接不应被视为“持久”。

    如果您尝试实现持久连接,您可能需要研究 websockets。

    【讨论】:

      猜你喜欢
      • 2013-11-18
      • 1970-01-01
      • 2013-06-24
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 2016-11-06
      相关资源
      最近更新 更多