FTPサーバとはFTPにおける接続先や接続が可能なコンピュータのことです。ですがそもそもFTPとはどういうものなのでしょうか。ここではFTPやFTPに必要なもの・FTPで出来ることについて紹介していきます。
FTPとはインターネット経由でファイルを送受信する際のルールの一種です。ファイルの送受信にはさまざまな種類のルールがあります。このルールの総称が通信プロトコルです。
つまりFTPとは通信プロトコルの一種であると言えます。FTPは「File Transfer Protocol」の略称であり、日本語に訳すと「ファイル転送プロトコル」です。
FTPを使用することでサーバにファイルをアップロードしたり、サーバからファイルをダウンロードしたりすることができます。
FTPはWeb開発等においてよく使用される通信プロトコルです。FTPについてさらに詳しく知りたい場合には下記記事にも目を通してみてください。
FTPは通信プロトコルの一種です。決まった通信プロトコルを使用してデータの送受信等を行いたい場合、コンピュータがその通信プロトコルを認識できる必要があります。そうでなければデータの送受信等を行うことができません。
そのためFTPにはデータを送信するFTPクライアントとデータを受信するFTPサーバの用意が必要です。FTPクライアントとFTPサーバについては後述しています。
FTPを使用することで「サーバへのファイルのアップデート」や「サーバへアップデートされたファイルのダウンロード」・「サーバにアップされたファイルの閲覧」・「ファイルのバックのアップ」・「ファイルの編集」などが行えます。
FTPには使用するにあたり知っておきたいデメリットがあります。それはセキュリティ面における弱さです。
FTPではクライアントとサーバ間でやり取りをする際、暗号化が行われません。暗号化されないということはパスワードや外部へ漏れてはいけない情報などの漏えいリスクが高いことを示します。
大切な情報の漏えいを防ぐためには通信が暗号化される手段を用いるのがおすすめです。具体的にはFTPのセキュリティが強化されたSFTPやSCP・SSHなどがあります。
FTPによるデータの送受信を行うにはFTPサーバとFTPクライアントを用意しておく必要があります。ここではFTPサーバとFTPクライアントがどいうものかについて詳しく紹介していきます。
FTPサーバは「FTPによる接続が可能なコンピュータ」や「FTPにおけるやり取りを行う際の接続先」のことを指します。
サーバとは他のコンピュータにサービスを提供するためのコンピュータのことを意味することが多く、サーバに接続することでさまざまなことが行えます。
ですがFTPサーバはサービスを提供している訳ではありません。FTPサーバとはあくまでFTPにおいて接続される方のコンピュータという意味です。
FTPサーバは個人で立ち上げることができます。WindowsのパソコンにはFTPサーバ機能が搭載されており、簡単にFTPサーバを立ち上げることが可能となっています。
FTPクライアントは「FTPで接続する方のコンピュータ」や「FTPで接続する方のソフト」のことを指します。また「FTPで接続する方のソフト」のことをFTPクライアントソフトと言うこともあります。
FTPクライアントソフトとはFTPサーバと接続する際に用いられるソフトのことです。FTPクライアントソフトを使用することでローカルのファイルをFTPサーバにアップロードすることやFTPサーバとのスムーズなやり取りが可能となります。
FTPを使用したファイルの送受信等に専用ソフトの使用は必須ではありませんが、ソフトを使用した方がスムーズにFTPを行うことができます。
FTPクライアントソフトには種類が多く、さまざまなものがあります。ここではFTPサーバに接続できる代表的なFTPクライアントソフトを紹介していきます。
FFFTPはFTPクライアントソフトの中でもよく知られているものです。日本人が開発したソフトということもあり、日本人にとって馴染みやすいものであることも広く使用される理由でしょう。
FFFTPはFTPSというFTPで送受信するデータをSSLで暗号化するプロトコルを使っているため、安全にデータの送受信が可能です。またファイルをまとめて一括転送することや漢字コードの自動変換ができる利便性の高いFTPクライアントソフトです。
Filezillaもまた広く知られているFTPクライアントソフトの1つです。FilezillaはFTPだけでなくFTPSやSFTPの通信にも対応しています。ファイルの高速転送が行える点や多くの言語に翻訳し使用可能な点が大きな特徴です。
WinSCPはオープンソースで開発されたFTPクライアントソフトです。FTPだけでなくSFTPやSCPの通信にも対応しています。ミラーリング機能を有している点が特徴的です。
ミラーリング機能を使用することでサーバと全く同じ環境をローカルに作ることができます。これにより開発効率の向上やミスの軽減が期待できます。
ここまでFTPやFTPサーバ・FTPクライアントソフトについて紹介してきました。ここからはFTPの仕組みについて紹介していきます。
どのようにデータの送受信が行われているのかはもちろん、データの送受信をする際に用いられる「バイナリモード」と「アスキーモード」2つのモードに関しても説明しています。
FTPを使ったデータの送受信方法を解説します。FTPではコネクションと呼ばれるものを使って送受信を行っています。コネクションとは通信している者同士が仮想的な接続状態を確立することです。
コネクションを用いる通信方式の手順は下記の通りです。
1.通信を始めたい側が、相手の所在位置や識別番号を指定する 2.通信を始めたい側が、相手に通信可否を問い合わせる 3.通信された側が、通信可否を答える 4.通信可能な場合は、仮想的な専用の通信路を形成する
FTPでは「データコネクション」と「コントロールコネクション」2つのデータコネクションが用いられています。
データコネクションは実際のデータの送受信に用いられています。対してコントロールコネクションはFTPサーバにログインする際の利用者認証やFTPコマンドの送信・その応答を受信に用いられています。
FTPにおけるデータの送受信には2つのモードがあります。「バイナリモード」と「アスキーモード」です。バイナリモードは改行コードを自動的に修正して転送を行います。対してアスキーモードでは改行コードなどは修正せずに転送を行います。
以前はアスキーモードの使用が主流でした。なぜならローカルのサーバで別々のOSが使われている場合、改行コードの違いでバグが発生する可能性があったからです。
ですが近年では高性能なエディタが増えたことで、改行コードが整備されるようになりバイナリモードでも問題なくデータ等の送受信が行えるようになりました。
ここからは実際にFTPクライアントソフトを用いて、データを送受信する方法をみていきましょう。本項目で解説する内容は実際に開発する際も役立つはずなので、これからWeb開発分野に参入したい方も目を通してみてください。
まずはFTPクライアントソフトをインストールします。FTPクライアントソフトはいくつか種類がありますが、ここでは「FFFTP」を使う例をみていきましょう。
FFFTP公式サイトから最新バージョンのものをダウンロードしてください。ダウンロードしたらインストール画面を開き「次へ」を選択して進みます。進めていくと利用規約があるので忘れず読みましょう。
最後に「インストール先フォルダを開く」にチェックを入れて「完了」をクリックすれば、インストールが完了します。
インストールが完了したらFTPクライアントソフトを起動させます。起動すると「FFFTP」の画面の中にホスト一覧が表示されています。通信するサーバの設定を行う場合は「FFFTP」の画面から「新規ホスト」を選択してください。
そこから「ホストの設定名」・「ホスト名(アドレス)」・「ユーザー名」・「パスワード」・「FTPサーバ名」・「FTPユーザ名」・「FTPパスワード」を記入します。設定終了後に「OK」をクリックすれば、サーバの設定が完了します。
通信するサーバの設定が終わったら、実際にサーバへ接続してみましょう。先程設定したホスト名がホスト一覧に表示されているので、設定したホスト名を選択し「接続」をクリックします。するとホストに接続が完了します。
サーバにファイルをアップロードする場合、左側に表示されているローカル側のファイルを右側のサーバ内側のファイル一覧の方に「ドラッグ&ドロップ」します。これだけでファイルをアップロードすることが可能です。
またサーバ側のファイルをダウンロードしたい場合はダウンロードしたいファイルを「ドラッグ&ドロップ」すればダウンロードすることができます。
FTPクライアントソフトはこのような手順で使うのが基本となります。今回は「FFFTP」の例を紹介しましたが、他のソフトでも基本的な流れは変わりません。
ここまでFTPやFTPの仕組み・FTPサーバ・FTPクライアントについて紹介してきました。FTPとはインターネット経由でファイルを送受信する際のルールで、通信プロトコルの一種です。
FTPにおける接続先や接続可能なコンピュータのことを「FTPサーバ」とFTPサーバに接続する方のコンピュータやソフトのことを「FTPクライアント」と言います。
FTPでファイルの送受信等を行う際には「FTPサーバ」と「FTPクライアント」が欠かせません。またよりスムーズにFTPを行いたい場合には「FTPクライアントソフト」の導入がおすすめです。
アンドエンジニアへの取材依頼、情報提供などはこちらから
アンドエンジニアへの取材依頼、情報提供などはこちらから