転送モード[ASCII][BINARY]
HTMLを実際にホームページとして公開する場合、
自分のパソコンからサーバーへファイルを転送しないといけないよね。
同じように、CGIもプログラムの書かれたファイルをサーバーに転送しないといけないんだ。
でも、単にファイルをサーバーにコピーするだけではだめで、
ファイルの種類などによって転送の仕方を変えないといけないんだ。
そこで、今回はこのサーバーへのファイルの転送方法に関して解説するね。
転送モードというのは、どういう形式で自分のパソコンからサーバーへファイルを送るかという指定なんだ。
ファイルの転送方法には大きく、
「ASCII」と「BINARY」という2つのモードがあるんだ。
簡単に言うと、
ASCII
:テキストファイルの転送用
BINARY :画像の転送用
という感じなんだ。
「ファイルなんてそのままサーバーに送ってしまえばいいんじゃないの?」って思う人もいると思うんだけれど、
自分のパソコンのファイルの処理方法と、サーバー上でのファイルの処理方法が同じとは限らないので、
このように2通りに分けて転送しなければならないんだ。
テキストファイルには改行というものがあるよね。
実はこの改行の認識方法がOSによって以下のように違うんだ。
| OS | 改行コード |
| UNIX | LF |
| Windows | CR + LF |
| Mac | CR |
表を見てもよくわからないと思うけれど、
とりあえず、OSによって改行の処理の仕方が違うので、
自分のパソコンとサーバーのパソコンのOSの種類が違う場合は、
お互いで改行コードが違うということだよね。
なので、自分のパソコンからサーバーにファイルを送るときには送り先のOSの改行コードに変換しないといけないんだ。
そして、この「ASCII」形式という転送方法はこの改行の変換を自動で行ってくれるんだ。
だから改行コードが含まれるテキストファイルのようなものは、
「ASCII」形式で転送しなければならないんだね。
それに対して、画像というのは改行コードのようなものは無いよね。
だから、何も変換せずにデータをそのまま転送すればいいんだ。
そこで使う転送形式が「BINARY」形式なんだ。
厳密にはそういう違いがあるんだけれど、
あまり厳密に考えずに、とりあえずはさっきの
ASCII
:テキストファイルの転送用
BINARY :画像の転送用
という形で覚えておこう。