Net::HTTPのエンティティヘッダー取得に関してわからないところが
あったのでお願いします。
ruby
1require 'net/http' 2 3http = Net::HTTP.start('www.yahoo.co.jp') 4response = http.head("/") 5response.each do |name,val| 6 puts name + ":" + val + "n" 7end
上記の
ruby
1Net::HTTP.start('www.yahoo.co.jp')
に関して
startは「 TCP コネクション、 HTTP セッションを開始させる。」
それに対して帰ってきたレスポンスのエンティティヘッダーを
headで取得する。
質問1
そもそもこの考え方は間違っていますか?
ruby
1require 'net/http' 2 3http = Net::HTTP.new('www.yahoo.co.jp') 4response = http.head("/") 5response.each do |name,val| 6 puts name + ":" + val + "n" 7end
上記の(newメソッドをstartに変更)
ruby
1http = Net::HTTP.new('www.yahoo.co.jp')
に関して
質問2
newはNet::HTTPのオブジェクトを生成するだけで
startと違いnewは TCP コネクション、 HTTP セッションを開始しない」はずです。
なのになぜレスポンスからエンティティヘッダーをheadで取得できるのですか?
おそらく概念か考え方が間違っていると思うのですが
考え方が分からないので私にもわかるように
教えてくださいお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/22 01:18