インターネットには,さまざまな便利なツールをダウンロードできるダウンロード・サイトがある。こうしたサイトで,いざファイルをダウンロードしようとしたとき,「HTTPダウンロード」と「FTPダウンロード」という二つの項目の選択を迫られ,迷った経験はないだろうか。この両者には,どんな違いがあるのだろう。
Webブラウザを使っている場合,このプロトコルの違いが使い勝手やダウンロード時間に影響することは,ほとんどない。でも,裏側では別々のしくみが動いている。
HTTPは,世界中のいろいろな場所にあるWebサーバー中のコンテンツを不特定多数のユーザーに配布するために生まれたプロトコル。つまり,不特定多数のユーザーにファイルを「配布」するためのプロトコルと考えられる。
HTTPは,Webページのコンテンツをサーバーから読み出すのに使われる。Webブラウザは,WebサーバーにあるHTMLファイルや画像ファイルなどをダウンロードし,パソコンのハードディスクやメモリーに一時的にためたものを表示している。
ソフトウエアなどをHTTPでダウンロードする場合で違うのは,Webブラウザで表示するか表示せずに保存するかというユーザーからの見え方だけ。しくみはまったく同じだ。そのため,ファイルを指定すればだれでもダウンロードできる。
一方のFTPは,特定ホスト間でファイルを「転送」する目的で作られたプロトコルである。そのため,FTP通信の最初にユーザーIDとパスワードによって通信相手を確認する認証プロセスが必須である。
FTPダウンロードとHTTPダウンロードの違いの一つはここにある。
ただし,ダウンロード・サイトなどにアクセスしてFTPダウンロードをするときに,ユーザーIDやパスワードを入力するウインドウは出ないのが普通。これは,Anonymous FTPというしくみを使っているからである。
Anonymous FTPとは,ユーザー名を「Anonymous」(匿名の意味),パスワードをユーザーのメール・アドレスにしてFTPサーバーにログインする方法。Webブラウザは,とりあえずユーザー名にAnonymous,パスワードに自身に設定されているメール・アドレスを入れて,FTPサーバーにアクセスしてみる。
ダウンロード・サイトのFTPサーバーは,ユーザー名がAnonymousなら,だれでもアクセスを受けつけるようになっており,ユーザーがユーザー名とパスワードをいちいち入力しなくてもアクセスできるのである。