ファイル転送の場合、ftpはhttpよりもパフォーマンスが良いですか?


回答:


7

eHowから盗まれた、下部のリンク

HTTPの長所と短所

HTTPアップロードは、ファイル転送に関する最小限の知識で、サーバーにファイルをアップロードする非常に簡単な方法を提供します。ファイルのダウンロードも非常に簡単です。ただし、ファイルのアップロードに関しては、HTTPのパワー不足に欠点があります。また、プログラマーは、問題のファイルをアップロードするために、HTMLでフォームを作成するために必要な知識を持っている必要があります。これは、作成するMyspaceやFacebookに類似したソーシャルネットワーク用のファイルの場合に特に当てはまります。

FTPの利点と欠点

FTPサーバーを使用すると、独自の利点があります。1つは、ユーザーがプログラムを使用してサーバーへの一括アップロードを実行できることです。1つのフォームを使用してファイルを再度参照し、再アップロードすることを繰り返し心配する必要はありません。ダウンロードも一括して行うことができます。残念ながら、FTPサーバーを使用するにはまだFTPクライアントが必要です。1つまたは2つの画像をアップロードしたい人にとっては、FTPサーバーの使用は特に面倒です。

違い

最終的に、FTPファイル転送とHTTPファイル転送の目的はまったく異なります。FTPのファイル転送の目的は多かれ少なかれWebサイトのメンテナンスとバッチアップロードのためであり、HTTPはクライアントエンドの仕事のため、そしてエンドユーザーが映画、写真、その他のファイルなどをサーバーにアップロードするためです。多くの場合、プログラマーはFTPを使用してファイルをアップロードし、エンドユーザーがHTML / HTTP経由でファイルをアップロードできるようにします。

詳細:HTTPVs。FTPファイル転送| eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY


4
これは主にアップロード時の利点/欠点についてです。それは質問の内容ではありません。
-sleske

@sleske:同意した。私は、Nifleの答えを支持しました。
unforgettableidSupportsMonica

8

一般に、プロトコルのネットワークパフォーマンスに関する一般的な答えは非常に困難です。これは、パフォーマンスが特定のネットワーク設定に大きく依存するためであり、多くの場合、使用されるプロトコルに依存します。

とは言っても、httpとftpのデータスループットが異なる理由はわかりません。どちらも基本的にTCPストリームでデータを送信するだけなので、実際のデータ転送プロセスは同じです。したがって、いいえ、一般に、ダウンロード速度はftpとhttpで同じでなければなりません。

httpは通常、他の理由で好まれます:ファイアウォールでよりよく機能し(プロキシ可能)、中断されたダウンロードの再起動を可能にし、ダウンロードとともにメディアタイプを提供できる(MIME)、暗号化がより簡単です(TLS / SSL)など


1
httpはダウンロードの中断を許可しません。ftpを意味しないのですか?ftpはプロキシおよび暗号化もできます。Httpダウンロードは、ftpクライアント(またはコンテンツプロバイダーのサーバー)をインストールする必要がないため、優先される場合にのみ推奨されます
ニフレ

1
はい、私はhttpを意味します。httpを使用すると、ダウンロードを再開できます(「Range:」ヘッダーを使用)。ただし、FTPについては修正済みです。ダウンロードを再開することもできます。
-sleske

プロキシ/暗号化に関して:はい、FTPはこれを行うことができますが、HTTPプロキシとTLSのサポートは実質的に普遍的である一方で、明らかに複雑で、さらに重要なことには、それほど普及していません。
sleske

また、ほとんどのブラウザはftp(ftp:// URLを使用)でダウンロードできるため、ftpダウンロードでは通常ftpクライアントをインストールする必要はありません。ただし、ほとんどのブラウザはftpでアップロードできません。
sleske

3

私にとってFTPの最大の落とし穴の1つは、ソケットを再利用できないことです。FTPには、ストリーム、ブロック、圧縮の3つの転送モードがありますが、最後の2つのサポートは一般的ではありません。デフォルトで最も広く使用されているモード(ストリーム)では、データは基本的にバイトの生ストリームとして転送され、そのファイルでいつ終了するかに関するメタデータがないため、終了時に接続を閉じる必要があります。つまり、FTPで100,000個のファイルを転送する場合、100,000個のTCP接続を開いたり閉じたりすることになります。これらの接続の1つが閉じられたときにそれが十分に悪くなかった場合、一定時間TIME_WAIT状態にする必要があります。そのポートがWindowsで再利用されるデフォルトの遅延は240秒(4分)です。さらに、デフォルトで使用するポートは最大5,000個です。これにより、FTPは大量の小さなファイルを転送する悪夢になります。レジストリを調整することで、クールダウン遅延を30秒に短縮し、最大ユーザーポートを約65,000に増やすことができますが、これは大いに役立ちますが、決して理想的ではありません。

一方、HTTPは、複数のファイルを転送するために同じソケットを再利用できます。そのため、多数のファイル(特に小さいファイル)がある場合は、間違いなくHTTPの方が適しています。

少数の大きなファイルを実行している場合は、使用するプロトコルはそれほど重要ではありません。FTPは人々がファイルを転送することを考えるときに思い浮かぶと思いますが、それは確かにそれがそれで良いということを意味しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.