Java言語で実装した簡単FTPソフト - FTPプロトコルの詳しい解説(1)

黄舟
リリース: 2017-04-01 10:11:55
オリジナル
2070 人が閲覧しました

この記事では、主に Java 言語で単純な FTP ソフトウェアを実装する最初の記事を紹介します。FTP プロトコルを分析しており、興味のある方は、

FTP ( File Transfer Protocol) ファイル転送プロトコルを参照してください。 FTP クライアントを介してリモート FTP サーバーからローカル コンピューターにファイルをコピーすることをダウンロードと呼び、ローカル コンピューターからリモート FTP サーバーにファイルをコピーすることを アップロード と呼びます。アップロードとダウンロードは、FTP で最もよく使用される 2 つの機能です。 FTP は、送信のトランスポート層で TCP プロトコルを使用するため、クライアントとサーバー間の接続は信頼性が高く、接続指向であり、データ送信の信頼性が保証されます。 FTP の目標は次のとおりです:

  • ファイル共有を改善する

  • コンピュータの間接的なリモート制御を提供する

  • ホスト間のファイル ストレージ システムの違いによるユーザー変更を回避する

  • 信頼性と効率を提供するデータ送信用

FTPプロトコルモデル下の図に示すように

Java言語で実装した簡単FTPソフト - FTPプロトコルの詳しい解説(1)

FTPはTCPサービスを使用し、2つの接続が必要です。 1 つはデータ送信に使用されるデータ接続で、通常はポート 21 を使用します。もう 1 つは、制御情報 (コマンドと応答) の送信に使用される制御接続で、通常はポート 20 を使用します。制御接続で送信する必要があるのは、コマンド行や応答コード行などの制御情報のみですが、データ接続では、テキスト ファイル、グラフィック ファイル、アプリケーションなどのさまざまな種類のデータを送信する必要があります。
FTP プロトコル モデルで使用される対話型要素には、ユーザー

インターフェイス

、USERPI、UPTP、SPI、および SDTP が含まれます。その説明を以下の図に示します

Java言語で実装した簡単FTPソフト - FTPプロトコルの詳しい解説(1)
FTP 送信には 2 つの方法があります: テキスト。送信モードとバイナリデータ送信モード。テキストモードはASCIIモードとも呼ばれ、バイナリモードはバイナリモードとも呼ばれます。


FTP サービスは、通常の FTP サービスと匿名 FTP サービスの 2 種類に分類されます。

一般的に使用される FTP コマンドは次のとおりです:


1) アクセスコマンド
USER: ユーザー名を指定します

PASS: ユーザー名に対応するパスワードを指定します

ABOR: データ接続プログラムを異常中断します
QUIT : システムログアウトから
REIN: 再初期化


2) ファイル管理コマンド
CWD: サーバー上の作業ディレクトリを指定ディレクトリに変更

CDUP: サーバー上の作業ディレクトリを親ディレクトリに変更

DELE: リクエスト

サーバー上のファイルを削除します。 LIST: サブディレクトリまたはファイルを一覧表示します MKD: サーバー上に新しいディレクトリを作成する要求
PWD: 現在の作業ディレクトリを表示します
RMD: 指定されたディレクトリをサーバーから削除します


3) データフォーマットコマンド
TYPE: ファイル タイプを定義します。合計 4 つのタイプがあり、パラメータは A、E、I、L の 4 種類で、それぞれ ASCII、EBCDIC、IMAGB、LOCAL タイプに対応します。

STRU: データの構成を定義します

MODE: 送信方法を定義します


4) ポート定義コマンド
PASV: サーバーはポートを選択し、

クライアントは

このポートを使用してアクティブオープンを送信します PORT: クライアントはポートを選択し、サーバーはこのポートを使用して作成し、アクティブに開きます

5) ファイル転送コマンド
RETR:

ファイルの読み取り

、ファイルはサーバーからクライアントSTORに転送されます: ファイルを保存、ファイルはクライアントから転送されます サーバーに送信されます STAT: ファイルの
ステータスを返します
ALLOO: サーバー上のファイルにストレージスペースを割り当てます

6) その他のコマンド
HELP: サーバーに情報を問い合わせます

NOOP: サーバーが動作しているかどうかを確認します

SITE: 特定の場所に対するコマンドを指定します
SYST: サーバーが使用しているオペレーティング システムを問い合わせます

クライアントが FTP コマンドを送信した後、サーバーは応答コードを返します。応答コードは 3 桁のコードで表されます:

最初の桁

はコマンドのステータスを定義します。
1 は、サーバーが情報を正しく受信したが、まだ処理していないことを意味します。

2 は、サーバーが情報を正しく処理したことを意味します。

3 は、サーバーが情報を正しく受信し、処理していることを意味します。
4 は、情報が一時的に間違っていることを意味します。
5 は、情報が永久に間違っていることを意味します。


2番目の数字

は、応答タイプの分類です。

0 は構文を意味します。
1 はシステムのステータスと情報を表します。
2は接続状態を示します。
3はユーザー認証に関する情報を表します。
4は不特定を意味します。
5 は、ファイルシステムに関連する情報を表します。

3 番目の番号 には、さらに詳しい情報が含まれています。

以上がJava言語で実装した簡単FTPソフト - FTPプロトコルの詳しい解説(1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート