パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

フリーの国産ダウンローダ「Irvine」が開発停止&ソース公開」記事へのコメント

  • 結構こだわりある人がいるようですが、
    ブラウザの右クリックで充分間に合ってる自分には今一つピンときません。

    ダウンローダというのは具体例にどういう使われ方をしているのでしょう?
    • by Anonymous Coward on 2002年08月12日 19時31分 (#144565)
      分割ダウンロードや、ディレクトリイメージごとごっそりに使われ、 いっぺんに70コネクション占有され、この手のダウンローダは "イタイもの"らしい。

      もちろんソフトウエアに罪はなく、使い手のモラルの 欠如が問題なのである。
      親コメント
      • by Anonymous Coward on 2002年08月12日 21時42分 (#144654)
        うむ。すごく困る。

        だれか Apache で同一IPからの複数接続はじくような
        設定知らない? もしくはそういったモジュールある?
        おしえてください。おながいします。
        親コメント
        • by 360d (6457) on 2002年08月13日 9時44分 (#145020)
          mod_ipcountaccess [fc.to] というのもあります。
          親コメント
          • 結局どのモジュールがお勧めなんでしょうか?
            普通にブラウザでページを見てくれる善良ユーザには複数接続可、
            分割ダウンローダを使うようなユーザには複数接続禁止させるために、
            複数接続は30秒以上できない、みたいな設定ができるやつが理想
            なんですが…。
        • コネクションごとにプロキシーサーバーを切り替える機能が実装されています。:-)
          --
          -------- tear straight across --------
          親コメント
          • #144735 [srad.jp]と #145020 [srad.jp]の 記事のお二人、ありがとう。試してみるよ。

            って、そんな悪質な機能が(涙)。ううっ。 まあ、そういった機能があることを知らない人も 多いだろうと期待してとりあえずつっこんでみます。

            ダウンロードが短期間で大量にかかるサイトを運営してるん だけど、帯域圧迫するのも困るので、クライアント数上限は あんまり増やしてないのね。で、ログみると、あきらかに ダウンロードツールで、同一の人物がふさぎまくってるのが わかる。まあ、待てばそのうち空くんだろうけど、 「つながらない」って出る人が多いの

        • 最近だと、普通にページを取得するときにでも並列化してませんか?
          もちろん設定によるのですが、Mozillaだと

          Advanced->HTTP Networking

          にEnable pipelineというのがありますね。
          サーバの設定でできるできないというものらしいですが、普通のブラウザでやりかねない状況からすると、ただはじくというのも難しいですね。ちゃんとしたブラウザだったら許可する、とかだと偽装機能ががんばってしまうかもしれないし。
          --
          -- やさいはけんこうにいちば〜ん!
          親コメント
          • ええと、HTTP request pipelining は並列取得とは無関係で、最近に限らなくても割と昔から大抵のブラウザは1ページの中の画像とかは5並列とかで落していたはずです……。(NN3 か NC4 かどちらかは並列数の設定があったんだけど、 最近の Mozilla とかは表には設定項目見えないですね。)

            HTTP request pipelining というのは、HTTP/1.1 の Keep-alive を使って1つの TCP 接続で連続してファイルを取得する (TCP の繋ぎ直しという重い作業をしないのでネットワークにもサーバにもやさしい) 時に、1つめのファイルの転送が終了する前に2つ目のリクエストを送っておくことを指すはずです。

            サーバが1つ目のファイルを送信終了し次第すぐに次のリクエストを読み出せたり、あるいは1つめのファイルを送信中に次のファイルを用意できるようになるので、リクエスト間のタイムラグをなくしたり、TCP の通信効率を上げたることが可能だと思われます。

            # Mozilla のソースは読んでいないので万が一くらいは違うかも
            # 知れないけど、少なくとも HTTP/1.1 (RFC2068) で規定した
            # 単語だし、Keep-alive を切ると無効になる設定項目なので、
            # これで間違いないと思います。

            サーバ側の処理は (わざわざ凝ったことをしなければ) 相変わらず同時には1ファイルしか送らないので、サーバへの負荷は「回線がちょっと速くなったみたい(回線遅延が減った)」という程度しか変わらないのではないかと思います。

            Mozilla で注意書きがあるのは、サーバの設定云々というよりは、(1) HTTP/1.1 サーバの誤実装 or (2) HTTP/1.0 サーバで2つめのリクエストをクライアントからのゴミだと認識する (or (3) Mozilla のバグ(?)) のどれかで現状ではうまく動かないことがある、ということだと思います。
            親コメント
            • keep-aliveとpipelineは若干異なります。
              keep-aliveは、一本のTCP接続でリクエスト/レスポンスを繰り返します。
              pipelineは、一本の接続で、複数のリクエストを先行して送信し、複数のレスポンスを順次受け取るものです。

              ネットワーク効率が良くなり、httpデーモンへのリクエスト頻度がその分増える事になると思います。
              親コメント
              • ん? まぁ結論変わらないんで構わないんですけど……。RFC 2068 の8節見てもらうとわかるんですけど、位置づけとしてはPipelining は Persistent connection (いわゆる keep-alive) の一部です。

                とにかく1つのコネクションでたくさん (>=2) 取って来ることができるのが persistent connection で、接続を keep するか close するかは最終的にはリクエスト毎にサーバが決めて通知することになってます。で、サーバの都合を聞かずにとりあえず keep だと思って次の要求を勝手に送りつけておいて、拒絶されたらその時考えよう、というのが pipelining です。

                少し前に自分で persistent connection を使う HTTP client (wget モドキ) を書いていて、サーバから「あと何リクエストまでOK」という値が返ってくるので「何のために使うんだろう」と思ってたんですが、pipelining するケースだと有効な情報なんですね……。
                親コメント
        • mod_limitipconn [dominia.org] とか?
          # 使ったことないけど。
          親コメント
        • MaxRequestsPerChild ちゃうん?
      • 私の場合は逆に1つずつチマチマ落とすために
        ダウンローダを使ってるんですけどね。
        (いまどき64Kなので、いっぺんに落とせないし)
        Mac用のIEだと複数ダウンロードを指定しても
        1つずつチマチマ落とせるよう設定を変えられるのに
        なぜかWin用だと見当たらないんで、
        NetAntsというダウンローダで1つずつチマチマ落としてます。
        親コメント

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

処理中...