- PR -

HTTPとFTPはどっちがファイル転送向き?

投稿者投稿内容
miro_corn
会議室デビュー日: 2002/10/17
投稿数: 6
投稿日時: 2002-10-17 12:00
よく、「HTTPよりFTPの方がファイル転送向き」と聞くのですが、
その技術的根拠ってあるのでしょうか?
FTP自体にはデータチェック機能とかありませんよね・・・。
どなたかわかる方教えてください。
秋山
常連さん
会議室デビュー日: 2002/09/25
投稿数: 23
投稿日時: 2002-10-17 12:24
引用:

miro_cornさんの書き込み (2002-10-17 12:00) より:
よく、「HTTPよりFTPの方がファイル転送向き」と聞くのですが、
その技術的根拠ってあるのでしょうか?



http://www.atmarkit.co.jp/fnetwork/rensai/netpro10/netpro01.html
http://www.atmarkit.co.jp/fnetwork/rensai/netpro11/netpro01.html

あたりが詳しいかと。技術的な内容を検討したことはありませんが、File Transfer Protocolというくらいなのでファイル転送には非常に適したものだと考えています。
miro_corn
会議室デビュー日: 2002/10/17
投稿数: 6
投稿日時: 2002-10-17 14:00
早速の返答ありがとうございます。

秋山さんの示していただいたドキュメントは読みましたが、私の疑問に答えてくれないようです。
私が知りたいのは、
純粋にファイルを転送するということにおいて、FTPはHTTPよりも優位なのか?
ということなんです。

ダウンロードサイトなどでFTPとHTTPの両方が用意されていてFireWallの設定によりFTPが使えない場合はHTTPでというような感じで書いてありますよね。だったらみんなHTTPは使えるわけだからFTPはやめてHTTPのみにすれば80番のポートだけをあけておけばよいHTTPの方がセキュリティの面で有利だと思うのです。そうではなくわざわざFTPも用意していると言うことはFTPのほうが良いという何らかの根拠があると思うのですが・・・。
へげもん
ベテラン
会議室デビュー日: 2002/04/14
投稿数: 87
お住まい・勤務地: 埼玉県
投稿日時: 2002-10-17 14:38
引用:

純粋にファイルを転送するということにおいて、FTPはHTTPよりも優位なのか?


ということであれば、FTPは確かに「純粋にファイルを転送する」ためだけのプロトコルですね。大は小をかねると考えれば、FTPを廃止してHTTPのみにするサイトがあってもおかしくありません。
 ただ、実際にはFTPでやり取りするファイルのサイズはかなり大きいので、Webサーバの負荷を下げるために専用のサーバを立てることが多いでしょう。そのとき、機能満載なWebサーバを追加するか、ファイル転送に機能を絞り込んだFTPサーバにするかは、サイト管理者の裁量に寄るでしょうね。
 機能が絞れているということはセキュリティ・ホールも生じにくいということだし、転送の中止などの制御が楽なので、不要なネットワーク負荷もかけずにすむでしょう。

ska
会議室デビュー日: 2002/10/17
投稿数: 1
投稿日時: 2002-10-17 15:44
FTPがHTTPよりも機能が絞り込めてシンプルということはありません。
アップロードやアクセス管理が含まれる分、実装も複雑ですし、問題も多く出ます。
アップロードが不要であれば、HTTPを利用する方がベターだと思います。
HTTP自体はとてもシンプルなデータ転送のプロトコルです。

FTPサーバは設定が複雑でセキュリティホールを生じやすいですし、そのときの被害もアップロードが可能なだけ悲惨になりやすいとおもいます。
ファイル転送の性能自体には違いはないとおもいます。HTTPの方がgzip圧縮などが行えるだけ、高速になる場合もあるかもしれませんけど。FTPはファイル転送中止の命令があるのは確かですが、それほど性能に影響を与えるかどうかは不明です。

もし高速にしたいのなら、djbのpublicfileを使えばいいかもしれませんね。
これならFTPもHTTPも高速かつ安全に提供できます。
miro_corn
会議室デビュー日: 2002/10/17
投稿数: 6
投稿日時: 2002-10-17 20:10
へげもんさん、skaさん返答ありがとうございます。

引用:

アップロードが不要であれば、HTTPを利用する方がベターだと思います。


だとすればVectorなどのダウンロードサイトはどうしてFTPを推奨しているのでしょうか・・・。

やはり一般に言われているHTTPよりFTPの方がファイル転送が確実にできるというのは「File Transport Protcolだからファイル転送に向いているに決まっている」というような程度なのでしょうか。根拠もなくそっちがいいと言われても納得できませんよね。

ちなみに、IISでFTPとHTTPのサーバを立ててバイナリーファイルのダウンロード速度を比較してみたのですが、FTPの方が若干速いという結果が出ました。転送速度自体の差がわずかなので、ログイン処理やディレクトリ移動の処理が必要な分、FTPの方が時間がかかってしまうことがあるのではないかな?と思ってしまいます。
サーバの負荷に関しては1対1での通信でしたので、ほとんど変化は無かったです。
このテストをしてみてわかったのですが、FTPだとLANケーブルをHUBから抜いても5秒後にまたつなぐと、そこからしばらくして転送が復帰するのに対してHTTPだとそのままタイムアウトを迎えてしまうみたいです。これってIISだからなんでしょうか?
BUBU
会議室デビュー日: 2002/09/02
投稿数: 6
投稿日時: 2002-10-17 21:20
不特定多数にダウンロードさせるという点においては、HTTPに比べFTPに技術的な優位点
はありません。プロトコル上、FTP/HTTPのどちらもデータ転送においては効率上の違いは
ないでしょう。(もちろん、ログインなどの操作は別ですが)
ftpの優位な点は、
・ユーザー毎に細かなアクセス制御が出来る。
・歴史が古く、大抵の機械で使える。
・アップロードが出来る
等です。
「不特定多数のダウンロード」だけを取り出して、HTTPとの優劣を考えるのは意味がない
と思います。
Vector等でFTPを推奨しているのは、「忙しいhttpサーバーに負荷をかけたくない」など、
サーバー側の事情があるのでしょう。通常のWeb以外にhttpサーバーをポート100番で
立ち上げて、
「httpプロトコルで100番ポートに接続してダウンロードしてください」
と書いて、リンクを張るよりも
「FTPでダウンロード」
と書いたほうがユーザーは戸惑わないのではないでしょうか?
まりり
ぬし
会議室デビュー日: 2001/12/05
投稿数: 329
投稿日時: 2002-10-17 21:23
> このテストをしてみてわかったのですが、FTPだとLANケーブルをHUBから抜いても
> 5秒後にまたつなぐと、そこからしばらくして転送が復帰するのに対してHTTPだと
> そのままタイムアウトを迎えてしまうみたいです。これってIISだからなんでしょうか?

ここまで気にしてるんだったらRFCにあたったほうが早いです。
FTPは959など、HTTPは1.0は1945、1.1は2616といったところでしょうか。

スキルアップ/キャリアアップ(JOB@IT)