5

HTTPClient で永続的な HTTP 接続を使用するにはどうすればよいですか? HTTP リクエストを送信するときに Keep Alive を設定するだけですか? ドキュメントには、永続的な接続がサポートされていると記載されていますが、それらの使用方法については説明されていません。

4

2 に答える 2

8

Net::HTTP で利用可能です

ドキュメントに書いてある通り、

Net::HTTP.startブロックの期間中、開いたままの HTTP サーバーへの接続をすぐに作成します。サーバーが永続的な接続をサポートすることを示している場合、ブロック内の複数の要求に対して接続は開いたままになります。

これは、ブロック内で行うすべてのリクエストが同じ HTTP 接続を使用することを意味します。

ドキュメントの例

require 'net/http'

uri = URI('http://google.com/')

Net::HTTP.start(uri.host, uri.port) do |http|
  request = Net::HTTP::Get.new uri.request_uri

  response = http.request request # Net::HTTPResponse object
end
于 2013-04-12T17:04:57.713 に答える