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

WebSharing 1.5のUpload機能

発言者:マルオ
( Date Friday, March 27, 1998 10:02:34 )


こんにちはマルオです。
Personal Web Sharing1.5で、アップロードが出来ると書いてありましたが
Netscape Navigatorではうまく行きません。

Editing and uploading files to the server

If you use file sharing privileges to control access to the server and give guests or registered
users write privileges, they can download a file, edit it, and copy the file back onto your Web
server. The file's name must not be changed, however.

The visitor's browser must support uploading of files.

このアップロード機能を持っているブラウザとはどれのことなのでしょうか?
NetPresenzのサーバのようにブラウザにファイルをドロップすれば
アップロードされるようなことを想像しているのですが
そうではないのでしょうか?
ユーザーにはRead&Writeを許可しています。


田中求之 さんからのコメント
( Friday, March 27, 1998 17:35:52 )

詳しいことが分かりませんが、NetPresenz のような FTP サーバの場合の動作
を行うのではなく、おそらく Upload メソードによる HTTP でのアップロード
を言っているのではないかと思います。

Netscape でページの編集ができるやつ(Gold っていうんでしたっけ?)が
ありますよね? あれの事ではないかと思っているのですが、確認できていません。

マルオ さんからのコメント
( Saturday, March 28, 1998 10:03:25 )

HTTP1.0でなぜUploadできるのか疑問だったのですが、Upload method
というものがあるのですね。勉強になりました。
NetscapeGlodを落としてきて試してみます。
有り難うございまいした。

田中求之 さんからのコメント
( Saturday, March 28, 1998 21:22:06 )

すみません、HTTP のメソードは Upload ではなく、PUT でした。

HTTP1.0 の場合は、POST によってファイルのアップロードは可能ですが
この場合、サーバー側で CGI なり Plugin が処理を行う必要があります。

で、Web Sharing の場合は、特にそれらしき CGI / Plugin は付属
しませんので、おそらく PUT のことだろうと思ったのですが、今テスト
してみたら、PUT リクエストに対しては 401 (保護領域によるアクセス禁止)
が返ってきました( Guest ユーザーがファイル書き込みができるようにして
あるのにな?)

となると、PUT でもだめなのかな??

田中求之 さんからのコメント
( Saturday, March 28, 1998 21:32:20 )

オーナーの資格で PUT しようとしたら、204 が返ってくるな…

田中求之 さんからのコメント
( Saturday, March 28, 1998 21:41:23 )

おっと、204 No Content を返すけど、ちゃんとページができてる。

ということで、PUT Method によってページのアップロードが可能であることが
判明しました。

テストは AppleScript + NetEvents で行いましたが、テストに使ったスクリプト
を後で登録しておきます。

田中求之 さんからのコメント
( Saturday, March 28, 1998 22:14:17 )

Web Sharing 1.5 のサーバーにページをアップロードする PUT メソードの
実験用スクリプトです。

Tanaka's osax と NetEvents が必要です。

ダイアログで選択した HTML のファイルをサーバーへ PUT します。

File Sharing の Owner の資格でアクセスするようにしてありますので
スクリプトのユーザー名とパスワードの部分をちゃんと設定してください。
もちろん、サーバーのアドレスも。

→  PUT_Test.hqx

田中求之 さんからのコメント
( Saturday, March 28, 1998 22:15:56 )

補足ですが、スクリプトを実行すると、最後に Saver said: 204 云々かんぬん
というダイアログが出ます。これが出たら、処理は終了ということになります。

また、ページは、サーバーのルートフォルダーの中に作られます。

清 秀紀 さんからのコメント
( Monday, May 18, 1998 12:56:52 )

ちょっと関連して調べごとをしていたら、

>If a new resource is created, the origin server MUST inform 
>the user agent via the 201 (Created) response. If an 
>existing resource is modified, either the 200 (OK) or 204 
>(No Content) response codes SHOULD be sent to indicate 
>successful completion of the request.
(RFC2068)

># Everything seemed to work, reply with 204 (or 200). Should reply with 201
># if content was created, not updated.
>&reply(204);
(<URL:http://www.apacheweek.com/issues/put1> のPerlのコード)

こんなん見つけました。

なんで201を返さないんでしょうね。


→  Apache Week: 4th April 1997

田中求之 さんからのコメント
( Monday, May 18, 1998 14:59:12 )

>なんで201を返さないんでしょうね。

そうなんですよ。PUT でコンテンツが新たに作られたときには、201 を返す「べき」
なんですよねぇ。

田中求之 さんからのコメント
( Friday, July 03, 1998 19:24:34 )

Web Sharing の Upload 機能について Apple Tech Note が出ました。
(Communicator を使った場合の説明ですが)

→  Personal Web Sharing: Uploading Files To The Host