Вопрос

Кто-нибудь знает, есть ли способ запретить Синатре отправлять сообщение Connection:close» в своих ответах?

Чтобы внести ясность, у меня есть очень простой

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

Но, посмотрев на вывод сетевого анализатора, я увидел, что он отправляет Connection: close заголовок сразу после HTTP/1.1 200 OK, который я хотел бы остановить!

Это было полезно?

Решение

Ах-ха!Кажется, Mongrel, сервер, на котором работало мое приложение Sinatra, не поддерживает Keep-Alive.поэтому я просто сделал:

set :server, 'thin'

после gem install thin и вроде все стало лучше!

Другие советы

Я вообще не говорю на Ruby, и на сайте Синатры не совсем понятно, что это такое (это фреймворк для Ruby?), так что, возможно, я здесь совершенно не в себе, но:

Connection: close отправляется вашим веб-сервером, когда поддержка активности отключена.Из соображений масштабируемости сохранение активности обычно считается первым шагом на пути к успеху. вещи, которые нужно отключить на вашем сервере.Справедливости ради надо отметить, что в обоих случаях существует своя школа мысли, особенно когда речь идет об «Аяксе».

Я использую nginx для своей работы с Django (думаю, это похоже), и в nginx я отключил поддержку активности следующим образом:

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

Apache использует KeepAlive (см. здесь).

Если у Sinatra есть собственный веб-сервер, я не могу найти никакой документации, чтобы включить поддержку активности, и я пойду дальше и смирюсь с тем фактом, что я выгляжу как идиот.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top