如何使用HTTPClient的持久HTTP连接?是否只是在发送HTTP请求时设置Keep Alive?文档声明支持持久连接,但不告诉我们如何使用它们。
答案 0 :(得分:6)
正如文档中所述,
Net::HTTP.start
立即创建与HTTP服务器的连接,该服务器在块的持续时间内保持打开状态。如果服务器指示它支持持久连接,则连接将对块中的多个请求保持打开状态。
这意味着您在该区块中执行的所有请求都将使用相同的HTTP连接。
doc
中的示例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
答案 1 :(得分:5)
如HttpClient Readme中所述:
您不必关心HTTP / 1.1持久连接 (httpclient关心而不是你)
这通常意味着在服务器支持HTTP 1.1
持久连接的场景中,httpclient gem
将为后续请求存储和重用它们(连接)。在这种情况下,您不必担心它。