Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 流式传输文本数据时禁用Chrome缓冲_Google Chrome_Http_Streaming - Fatal编程技术网

Google chrome 流式传输文本数据时禁用Chrome缓冲

Google chrome 流式传输文本数据时禁用Chrome缓冲,google-chrome,http,streaming,Google Chrome,Http,Streaming,我们有一个通过http传输文本数据的站点。其设置方式如下: 它不做任何服务器端缓冲 内容类型是文本/普通 传输编码是分块的 压缩被禁用 当使用纯curl或FireFox时,文本从第一个字节流到浏览器。但当使用Chrome时,在发送1024字节之前不会显示文本。在那之后,一切都会立即出现 问题:有没有办法禁用此缓冲行为 更多信息:下面是一个简单的ASP.NET页面,演示了该行为: <%@ language=c# %> <% Response.BufferOutput

我们有一个通过http传输文本数据的站点。其设置方式如下:

  • 它不做任何服务器端缓冲
  • 内容类型
    文本/普通
  • 传输编码
    分块的
  • 压缩被禁用
当使用纯
curl
或FireFox时,文本从第一个字节流到浏览器。但当使用Chrome时,在发送1024字节之前不会显示文本。在那之后,一切都会立即出现

问题:有没有办法禁用此缓冲行为

更多信息:下面是一个简单的ASP.NET页面,演示了该行为:

<%@ language=c# %>

<%
    Response.BufferOutput = false;
    Response.ContentType = "text/plain";

    for (int i=0; i<50; i++)
    {
        Response.Write("01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567\r\n");
        System.Threading.Thread.Sleep(1000);
    }
%>


尝试将
内容类型
文本/普通
切换到
应用程序/八位字节流

请查看以下内容,以便进一步阅读:


这个补丁对我非常有效。我遇到了与您描述的相同的问题,即发送编码为
text/plain的小文本块;charset=UTF-8
在Chrome中造成延迟,但在Firefox中没有。将类型更改为application/octet在不影响FireFox性能的情况下解决了Chrome上的问题

X-Content-Type-Options:nosniff
添加到您的标题中,并告诉我您的情况

根据:

X-Content-Type-Options
response HTTP头是 用于指示在中播发的MIME类型的服务器
内容类型
标题不应更改并遵循。这 允许选择退出MIME类型嗅探,或者换句话说,它是一个 也就是说,网站管理员知道他们在做什么


文本/事件流可以工作,并允许您在Chrome中预览响应,而无需尝试下载。不确定这是否是真正的mime类型,但我见过使用它。
octet-stream
使浏览器将数据下载到文件中<代码>事件流
就像一个符咒。请参阅
<configuration>
    <system.webServer>
        <urlCompression doStaticCompression="false" doDynamicCompression="false"/>
    </system.webServer>
</configuration>