1

有谁知道是否有办法阻止 Sinatra 在其响应中发送“连接:关闭”标头?

要清楚,我有一个非常简单的

get '/path' do
  puts "Some (~200 byte long) string"
end

但是,在网络分析器中查看输出后,我看到它在Connection: close之后发送标头HTTP/1.1 200 OK,我想停止!

4

2 回答 2

3

啊哈!运行我的 Sinatra 应用程序的服务器 Mongrel 似乎不支持 Keep-Alive。所以我只是做了:

set :server, 'thin'

之后gem install thin,一切似乎都变得更好了!

于 2009-11-08T20:11:27.490 回答
0

我根本不会说 Ruby,Sinatra 网站也不是很清楚它是什么(它是 Ruby 的框架吗?)所以我可能完全不喜欢这里,但是:

Connection: close当保持活动关闭时,由您的 Web 服务器发送。出于可扩展性的原因,保持活动通常被认为是关闭服务器的第一步。公平地说,有一种双向的思想流派,尤其是当涉及到 Ajax 时。

我将 nginx 用于我的 Django 工作(我认为它是相似的),并且我在 nginx 中关闭了 keep-alives,如下所示:

14:58 jsmith@lateralus% grep alive /etc/nginx/nginx.conf                            ~
     keepalive_timeout 0;

Apache 使用 KeepAlive(请参见此处)。

如果 Sinatra 是它自己的 Web 服务器,我找不到任何文档来开启 keep alives,我会继续吃掉我看起来像个白痴的事实。

于 2009-11-08T19:59:26.953 回答