"Range:" http 标头导致 ColdFusion 应用程序中挂起



每当我在服务器上的.cfm或.cfc文件的HTTP请求中添加"range"标头时,我都会得到超时。服务器根本不响应。

为了调试,我创建了一个名为"/signup/test"的空白文件。在我的服务器上。它什么也不包含。接下来,我对文件发出一个普通请求和一个编辑过的请求:

Request:
GET /signup/test.cfm HTTP/1.1
Host: site.com
Response:
HTTP/1.1 200 OK
Request:
GET /signup/test.cfm HTTP/1.1
Host: site.com
Range: bytes=0-40960
Response:
timeout in transmission from site.com

如果我在一个静态文件的请求中包含Range头,那就没有问题了。

是什么原因导致的,我该如何调试它?我请求的文件是空的,所以不应该执行任何代码。应用程序。CFC为空。由于我假设没有代码正在执行,这是否意味着这是服务器配置问题?

编辑:通过给我的脚本添加一个标签,我已经确认它确实执行ColdFusion代码。

很可能cf解析器不能处理范围请求,而静态文件处理程序可以。

Range用于获取部分内容,之后再获取更多内容。例如,视频文件流或下载延续。这不是脚本处理程序容易处理的事情,因为请求是一次性返回的。

下面是一个带有示例范围请求的stackoverflow来展示它是如何工作的示例http范围请求会话

最新更新