参考までに今の動きです。
httpではプロトコルに従って動作しするため、単純に時間だけでタイムアウトはしません。以下のケースでは受信したデータ長に従って待ちます(HTTP 1.1ではどちらかが必ず含まれる)
・応答ヘッダにContnet-Lengthが含まれている。
・応答形式がchunkedになっている。
どちらでもなく、HTTP 0.9は1.0の古いプロトコルを使っている場合は、いつまで受信したらよいのか、クライアント側ではわからないため、最初のデータを受信するまで長めに待機した後、何らかのデータ受信後は、短い時間でタイムアウトします(ここが1秒前後)
これは、データの送受信が終了してもコネクションを切断しないサーバもあり、単純にタイムアウトを5秒にしただけで、数回POST/GETするだけの5秒*リクエスト回数分の時間がかかってしまうことになるためです。
※ブラウザから人間が参照している分には、コネクションが切れてなくても人間いは内容が見えているので、問題にならないわけです。
また、最近は、まともなサーバ実装は1.1に従って動くように整ってきている(静的コンテンツならContent-Lengthがついているか、動的生成ならchunked形式になっている)という点があります。
なお、GETもPOSTも動きは同じはず。