このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

HTML文書がバイナリー?

発言者:今泉克美
( Date Friday, June 15, 2001 11:30:49 )


いつも
お世話になっております。

とても不思議なことがおきましたが
力ずくで自力で解決済みであります。

しかしながら、発生原因や
原理的なことがわかっておりませんので
今後の再発防止のためにも
お教えください。

1.経緯
AppleShareIP6.2
Web&File サーバ
で、公開サイトをたちあげております。
新しく、 cobalt の linux サーバを立ち上げるので
事前準備として
そちらに Web コンテンツを移行しました。

2.現象
FTP ソフトを使って
ASIP からコンテンツをダウンロード。
クライントはWINです。そこから
LINUX にアップロードしました。
当然のことながら、
HTML 文書 (*.html) ならば、 ASCII で、、など
転送モードには、気をつけました。
アップしおわったので
ブラウザで、 移行先の HTML 文書を見てやったところ、
完全に無秩序にみえる文字の羅列が表示されました。
ブラウザの機能で HTML ソースをみてやりましたが
完全に破壊されております。
よくよく調べてみたところ
LINUX 上にアップされた HTML 文書ファイルが
テキストではなく、バイナリになっておりました。
ダウンロード後の、クライアントマシン上でも
文字化け状態で意味をなしません。
(エンコーディングの間違いどころではなく乱れています。
1バイト系でもわけがわからないのです)
ASIP の WEB FOLDER にある HTML 文書達は
(あちらこちらのフォルダに分散していて、かなりの量なのですが)
ことごとく、ダブルクリックしても、適切なトランスレータがみつからず
開けませんでした。
ファイルメニューから、一般情報を参照すると
種類は「書類」となっています。
ブラウザから、ASIP の HTML文書をURLで指定して
見てやると、きちんと表示されます。
このとき、ブラウザのソース表示機能でみると
きちんとソース表示がなされます。
ASIPからのダウンロード時点での
FTPソフトの使い方が悪いのかと思い
別なものも使ってみましたが状況は好転しませんでした。
Macがにがてな先輩に電話相談したところ
「もともとASIP上でバインHEXなんだよ、きっと」
とひとこと。

3.質問(原理もわからず、恥ずかしながら、、、)

3−A ASIP上のHTML文書はバイナリでもいいのですか?
       (このケース、ほんとうにバイナリなんでしょうか)
3−B 別なプラットフォームにコンテンツを移行するときに
      平らなテキストにするためにはどうしたらよいでしょうか?
3−C そもそも、コンテンツ新規作成時点で、最初にFTPでアップ
      するときに、なにか、指定のようなものが必要なのでしょうか?
      コンテンツ作成は業者さん。MACでGOLIVEを使用。アップも
      GOLIVEでした。
3−D そのほか、私に不足ぎみの【常識】をご指導ください。

−−−−−−−−−−−−−−−−−−−−

なお、冒頭で、原理もわからず力ずくで自力で解決、、と
書きました。

やりかたはふたとおり。

まず最初に。
ASIP上のHTMLをブラウザで閲覧して、ソース表示してやり
そこからコピー&ペイスト。
この作業はしにそうでした。いっぱい
文書があって、あちこちに分散していますので
モレがあってはいけませんし。

もうひとつ。
ASIPのWebFolderを、Winクライアントから
共有させてもらって
クライアントマシンに複写。
これで、全部、普通のHTML文書になりました。
(ってことは、やっぱり、たいらなテキストであって
バイナリじゃぁないのかしら?)

原理がわかっていませんので
まったく恥ずかしながらですが、
ご容赦いただきたく思います。

よろしくお願いいたします。


今泉克美 さんからのコメント
( Friday, June 15, 2001 12:13:21 )

FTPツールを使って、ダイレクトにのぞいたところ
(This file must be converted with BinHex 4.0)
という文字が、ASIP上のHTML文書の冒頭に記載されていました。

3−Bは、無理ですね。普通には。
3−Cが肝心かなめかと。

今泉克美 さんからのコメント
( Friday, June 15, 2001 12:33:27 )

このスレッドの表題もなにもかも
まちがっていますね(−−)
質問もかきなおします。

3−A ASIPの上のHTML文書が、BIN-HEXでOKなんでしょうか?
3−B BIN-HEXから、通常の Text/PLAIN になおす方法はありますか?
3−C GOLIVEで作ったHTML文書をアップするさいに、なぜに
    BIN-HEXなのでしょう?

3−D BIN-HEX って、2進(16進)のファイルを、通信しやすいように
無理やりにASCII化したものだとわかりました。
(WINなどで、ISH形式で圧縮したことがありますが、それを思い出しました。)
したがって、BIN-HEXはテキストであります。バイナリではありません。
このスレッドの表題は
「HTML文書がBIN−HEX?」のあやまりでした。
すみません。
もっと気をつけなければいけない常識、関連情報のリソースを
ご紹介くださいませ。

田中求之 さんからのコメント
( Friday, June 15, 2001 15:36:09 )

原因は

>ASIP の WEB FOLDER にある HTML 文書達は
>(あちらこちらのフォルダに分散していて、かなりの量なのですが)
>ことごとく、ダブルクリックしても、適切なトランスレータがみつからず
>開けませんでした。

ここにあります。HTML で書かれたファイルを「テキスト」ファイルとして
認識できない(ファイルタイプが TEXT になっていないのでしょう)という
ことにあります。バイナリファイルとして認識しているわけですね。

このため FTP クライアントから ASCII モードでの転送を要求された ASIP は
バイナリファイルを TEXT 形式に変換して送りだしたのだと思われます。
バイナリをテキストに変換するのに MacOS で一番普及しているのが
Binhex 形式ですから、Binhex に変換したのでしょう。

一番確実な対処の仕方は、ASIP 上の HTML ファイルのファイルタイプをすべて
TEXT 形式に変換することでしょうね。


最近のサーバは、クライアントからの要求に会うように、ファイルのデータを
自動変換します。その機能があだになったわけです。

今泉克美 さんからのコメント
( Friday, June 15, 2001 19:23:17 )

田中先生、さっそくの御回答、ありがとうございます。

1.PPPで、コンテンツ業者さんがFTPでUPした
’ほにゃらら.html’
は、上記でも触れましたが、ファイルメニューから、一般情報を参照すると
種類は「書類」となっています。

2.本日、再現確認のため、今泉が、かってに
winクライアントの「メモ帳」なるテクストエディタで
作成したHTML文書を
winから、FTPでASCII転送でアップしましたところ
この’今泉作成.html’
は、サーバのファイルメニューから、
一般情報を参照すると
種類は「simpletext書類」となっていました。

3.同じようにFTPでアップしてるはずの
「ふんばば.html」なのに
かたや、「書類」−−− −−−−−BIN-HEX
かたや、「simpletext書類」−−−テキスト
となるのは、WINしかわからない私的には
ほんとうに理解にくるしみます。


4.自信のない推測ですが
MAC上で動くGOLIVEなるソフトが
FTPでUPするときに
BIN-HEX変換してしまっていて
それをASIPが、だまってうけとっているのかなー?
と思っております。
(WIN的発想)

5.もうひとつの自信のない推測ですが
GOLIVEが転送するときに
テキストを、まんま、(((バイナリだよーと宣言しながら)))
バイナリ転送しちまって
実体としては、データは変換されておらず、、なのですが、
「バイナリで送られてきたな!じゃぁこのHTML
文書はバイナリファイルじゃな。。」と
我がMacサーバ君は目印をつけたのかもしれません。

そのご、クライアントから、サーバにFTPで
転送要求があったときに、
「こいつは、バイナリじゃから、このままでは送れない。
親切にBIN-HEXをかけてからおくってやろう」

田中先生のご説明を聞いた私、こちらのニュアンスで
受け取っております。

−−−−−−−−−−−−−−
いったい、だれが、いつ、BIN-HEXをかけているのか、、
−−−−−−−−−−−−−−
そして、私がWINから、FTPでじゃなく
FILE共有でMACサーバからWINへドラッグ
しただけでBIN-HEXが溶けてしまったのは
なぜなんでしょうか?

もうしわけありません、、理解力なさすぎです。(@@)

田中求之 さんからのコメント
( Friday, June 15, 2001 22:36:41 )

>MAC上で動くGOLIVEなるソフトが
>FTPでUPするときに
>BIN-HEX変換してしまっていて
>それをASIPが、だまってうけとっているのかなー?

これはあり得ません。もし Binhex 形式になっていたら Web で表示されるはずが
ないですから。

Binhex 変換は ASIP の FTP サーバが、データを送りだす時点で行っています。
サーバ上に Binhex 形式のファイルがあるわけではありません。いわゆる
オン・ザ・フライでの自動変換です。

安本 さんからのコメント
( Sunday, June 17, 2001 10:51:39 )

今泉克美 様

少し関係ないかもしれませんが、GOLIVEのからのFTP/UPは初期設定では、
ISO 8859-1 転送を使用に設定されています。
このまま、UPすると上記のような現象が起きます、
(設定は、メニュー>編集>環境設定>ネットワークに設定があります)

何かのたしになれば????

今泉克美 さんからのコメント
( Monday, June 18, 2001 09:02:42 )

田中先生、安本様
ありがとうございます。

昨日、GOLIVE関連の書籍を見てまわりましたが
特別な設定変更をしろと書いてあるのはひとつもなく。
手元にGOLIVEがありませんので。

>初期設定では、ISO 8859-1 転送を使用に設定されています。

という情報は、再現防止の的を得ていると思います。
それにしても、なぜこれが既定値なのか、、、

まとめ。

1.ISO 8859-1転送でUPする。すると、
MACサーバでは、おくらててきたものが
SIMPLETEXTでは開けない、生成ツール不明の「書類」
として受け止められる。
データの中身としては、通常のテキストなので
ブラウザは、HTMLを理解して、ページを表示してくれる。

2.どこかのクライアントから、FTPでダウンロードしたい旨
要望がでると、MACサーバは、BIN-HEX変換してしまう。

ありがとうございました。