そもそもFTPとは?
FTPサーバとは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使用時の留意点
FTPには使用するにあたって確認するべきデメリットがあります。それはセキュリティ面における弱さです。
FTPではクライアントとサーバ間でやり取りをする際、暗号化が行われません。暗号化されないということはパスワードや外部へ漏れてはいけない情報などが漏えいするリスクが高いことを示します。
大切な情報の漏えいを防ぐためには、通信が暗号化される手段を用いるのがおすすめです。具体的にはFTPのセキュリティが強化されたSFTPやSCP・SSHなどがあります。
FTPによるデータの送受信を行うには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クライアントソフトには種類が多く、さまざまなものがあります。ここではFTPサーバに接続できる代表的なFTPクライアントソフトを紹介します。
FFFTP
FFFTPはFTPクライアントソフトの中でもよく知られているものです。日本人が開発したソフトということもあり、日本人にとって馴染みやすいものであることも広く使用される理由でしょう。
FFFTPはFTPSというFTPで送受信するデータをSSLで暗号化するプロトコルを使っているため、安全なデータの送受信が可能です。また、ファイルをまとめて一括転送したり漢字コードを自動変換したりできる利便性の高いFTPクライアントソフトです。
【参考】ffftp・GitHub
Filezilla
Filezillaもまた広く知られているFTPクライアントソフトの1つです。FilezillaはFTPだけでなくFTPSやSFTPの通信にも対応しています。ファイルの高速転送が行える点や多くの言語に翻訳し使用可能な点が大きな特徴です。
WinSCP
WinSCPはオープンソースで開発されたFTPクライアントソフトです。FTPだけでなくSFTPやSCPの通信にも対応しています。ミラーリング機能を有している点が特徴的です。
ミラーリング機能を使用することでサーバと全く同じ環境をローカルに作ることができます。これにより開発効率の向上やミスの軽減が期待できます。
【参考】WinSCPとは
Macで使用できるおすすめFTPクライアントソフト
ここでは、Macで使用できるFTPクライアントを3つ紹介します。それぞれ特長がありますので、業務や自分の使い勝手に合ったものを選んでください。
Filezilla
FilezillaはMacのほかにも、Windows・Linuxなどの幅広いOSに対応しているFTPクライアントソフトです。無料版と有料版があり、有料版ではクラウド管理ができる機能などがついています。クライアントとサーバのフォルダ状況を2画面で確認できるため、転送状況・ファイルの更新の有無などが確認しやすいというメリットがあります。
【参考】macOS用のFileZillaクライアントをダウンロードする
Cyberduck
Cyberduckは無料で利用できるFTPクライアントソフトです。ただし、Mac App Storeからダウンロードすると有料になるため注意してください。Cyberduckのメリットは、多数の言語に対応している・UIがシンプルで使いやすい・ツールバーを自分好みにカスタマイズ可能な点などがあります。
【参考】Cyberduck
Transmit
Transmitは有料のFTPクライアントソフトです。日本語に対応しているため使いやすく、ミラーリング機能やよく使用するサーバをお気に入り登録できる機能などがあります。なお無料トライアル期間があるため、使い勝手を確かめてから購入できる点もメリットです。
【参考】Transmit
FTPの仕組みについて
ここまでFTPやFTPサーバ・FTPクライアントソフトについて紹介しました。ここからはFTPの仕組みについて紹介します。
どのようにデータの送受信が行われているのかはもちろん、データの送受信をする際に用いられる「バイナリモード」と「アスキーモード」2つのモードに関しても説明します。
データの送受信方法
FTPを使ったデータの送受信方法を解説します。FTPではコネクションと呼ばれるものを使って送受信を行っています。コネクションとは、通信している者同士が仮想的な接続状態を確立することです。
コネクションを用いる通信方式の手順は下記の通りです。
1.通信を始めたい側が、相手の所在位置や識別番号を指定する
2.通信を始めたい側が、相手に通信可否を問い合わせる
3.通信された側が、通信可否を答える
4.通信可能な場合は、仮想的な専用の通信路を形成する
FTPでは「データコネクション」と「コントロールコネクション」2つのデータコネクションが用いられています。
データコネクションは実際のデータの送受信に用いられています。これに対してコントロールコネクションは、FTPサーバにログインする際の利用者認証やFTPコマンドの送信・その応答の受信に用いられています。
データの送受信には2つのモードがある
FTPにおけるデータの送受信には2つのモードがあります。「バイナリモード」と「アスキーモード」です。バイナリモードは改行コードを自動的に修正して転送を行います。対してアスキーモードでは改行コードなどは修正せずに転送を行います。
以前はアスキーモードの使用が主流でした。理由は、ローカルのサーバで別々のOSが使われている場合、改行コードの違いでバグが発生する可能性があったからです。しかし、近年では高性能なエディタが増えたことで、改行コードが整備されるようになりバイナリモードでも問題なくデータ等の送受信が行えるようになりました。
FTPサーバからデータを送受信する際の手順
ここからは実際にFTPクライアントソフトを用いて、データを送受信する方法を説明します。本項目で解説する内容は実際に開発する際も役立つはずですので、これからWeb開発分野に参入したい方も目を通してください。
FTPクライアントソフトをインストールする
まずは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サーバ」と「FTPクライアント」が欠かせません。またよりスムーズにFTPを行いたい場合は、「FTPクライアントソフト」の導入がおすすめです。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから