每当我在服务器上的 .cfm 或 .cfc 文件的 HTTP 请求中添加“范围” header 时,都会出现超时。服务器根本不响应。
为了调试,我在我的服务器上创建了一个名为“/signup/test.cfm”的空白文件。它什么都不包含。接下来,我对文件发出正常请求和编辑请求:
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 header ,则没有问题。
什么可能导致这种情况,我该如何调试?我请求的文件是空的,因此不应执行任何代码。 Application.cfc 为空。由于我假设没有代码正在执行,这是否意味着它是服务器配置问题?
编辑:通过在我的脚本中添加一个标签,我已经确认它确实执行了 ColdFusion 代码。回复只是永远不会发回给我。
最佳答案
很可能 cf 解析器不能处理远程请求,而静态文件处理程序可以。
范围用于获取部分内容并随后获取更多内容。例如。视频文件流或下载继续。脚本处理程序不容易处理,因为请求是一次性返回的。
这是一个带有示例范围请求的 stackoverflow 来展示它是如何工作的
Sample http range request session
关于coldfusion - "Range:"http header 导致 ColdFusion 应用程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693967/