【问题标题】:HTTP 204 leads to download in ChromeHTTP 204 导致在 Chrome 中下载
【发布时间】:2019-07-30 07:52:01
【问题描述】:

当我尝试响应 HTTP 204 状态时,我的 Chrome 浏览器正在启动失败的下载。

请求: 请求网址:https://dummy.page/dummyRequest 请求方法:GET 状态码:204 远程地址:[虚拟]:443 推荐人政策:降级时无推荐人

回应: 日期:格林威治标准时间 2019 年 3 月 8 日星期五 08:24:05 服务器: 状态:204

当我使用 Dev-Tool 检查响应时,chrome 显示“无法加载响应数据”,在 Firefox 中我可以看到一个空行。

我的服务器通过 Java 返回一个响应:

return Response.noContent().build();

此时我也尝试返回 NULL,但这并没有改变任何东西。

整个事情在 Firefox 中运行良好,但是当我在 Chrome 中尝试时,它开始下载“dummyRequest”(来自 URL)失败。

那么我想知道的是:为什么 Chrome 会开始下载,我该怎么做?

感谢您的帮助;)

【问题讨论】:

  • 我也很想知道这个问题的答案。我真的不明白为什么 Chrome 会尝试下载标有“无内容”的页面。下载失败,因为....等待它..没有内容。不确定这是否与我发送标头的方式有关,或者是否是 Chrome 中的错误。

标签: google-chrome http http-headers http-status-code-204


【解决方案1】:

我在 204 回复中遇到了同样的问题。对我有用的是在发送响应之前检查服务器端的 Content-Type 响应标头。

我的 204 响应发送了 default Content-Typeapplication/octet-stream(来自链接:“未知文件类型应使用此类型。浏览器在处理这些文件时要特别小心”)。当将 Content-Type 切换为不同的内容时(我选择了text/html),下载的触发器停止了。

【讨论】:

    猜你喜欢
    • 2015-10-25
    • 2020-02-14
    • 2017-03-12
    • 1970-01-01
    • 2016-06-18
    • 2011-07-19
    • 2021-06-22
    • 2012-01-09
    • 2011-01-19
    相关资源
    最近更新 更多