抱歉,我不知道什么是WebDAV 不知道chrome是不是用的这个下载模块。 不过问题已经找到,因为我测试的时候下载的都是同一个文件比如
http://xxx.com/test.zip 如果换成test2 test3这样测试就没有问题。后来发现 原来chrome同一个下载URL只能有一个正在下载。
IE等浏览器不受影响。另外 我上面提到208 不是http响应208 而是说我点chrome的暂停的时候 body_
bytes_sent的值是208 我也发现我的沟通有问题,语文没学好。。。。
非常感谢agentzh 老师的细心解答!
在 2013年4月12日星期五UTC+8上午2时23分28秒,agentzh写道:Hello!
2013/4/10 Toad Zhou:
> 累加结果这个我明白,生产环境我会针对UID记录到REDIS中。现在的问题是用curl测不出来阻塞情况,我用浏览器下载一个http://xxx/test.zip的时候他不会关闭的,这时候你再打开一个同样
> 的url他是处于阻塞状态,他要等第一个下载完第2个下载才会开始动。
> 如果我第一个下载在chrome当中点暂停那么第2个URL下载将一处于等待状态。除非你第一下下载完或点击取消才可以。log_by_lua
> 和body_filter_by_lua效果是一样的。
>
貌似你忽略了我上一封邮件中的最后的问题和建议,我再重复一遍:
“你使用的是什么方式来提供下载的?使用了第三方的WebDAV 模块?我在 Nginx 核心中没有看到会生成 208 响应的地方。
另外,可以提供问题请求对应的 Nginx 调试日志供诊断之用:
http://wiki.nginx.org/Debugging#Debugging_log ”
值得一提的是,磁盘读取是阻塞操作,你可以配置多个 nginx worker 进程(如果你目前只配置了一个 worker 的话)。
Regards,
-agentzh