coldfusion - "Range:"http header 导致 ColdFusion 应用程序挂起

标签 coldfusion http-headers timeout railo

每当我在服务器上的 .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/

相关文章:

apache-flex - 将 ArrayCollection 从 ColdFusion 传递到 Flex(使用 BlazeDS)

http-headers - Keycloak 重复 "Access-Control-Allow-Origin"导致 cors 错误

azure - 在 Azure 日志中哪里可以找到自定义 HTTP header ?

http - 为什么 Accept header 带有 HTTP_ 前缀?

php - 单元测试 : Simulate a timeout with Guzzle 5

oop - 我应该如何构建这个类的继承?

coldfusion - ColdFusion Lint

javascript - ColdFusion Javascript 验证

java - 在 perBatch forkmode 中使用 <junit> 时设置每个测试或每个类超时的最佳方法是什么?

ruby - 如何在 Ruby 中设置 FTP session 空闲超时?