68user's page 掲示板

Prev< No. 2611〜2619> Next  [最新発言に戻る] [過去ログ一覧]
No. 2611 # hama 2002/04/09 (火) 16:35:16
SOCKETを使ったHTTPクライアントソフトで認証のページに
アクセスする方法はどうするのでしょうか?

No. 2612 # 68user 2002/04/09 (火) 18:23:32
>>2611 hama
認証が必要なページを読むと、Basic 認証が必要なページならば
    HTTP/1.1 401 Authorization Required
    WWW-Authenticate: Basic realm="This URI is required authentication"
というようなレスポンスが返ってきます。

もしユーザ名が USER、パスワードが SECRET なら、クライアントは
    USER:SECRET
という文字列を作り、それを base64 でエンコードした
    VVNFUjpTRUNSRVQK
という文字列を「Authorization: Basic 」に続けて送ります。つまり
    GET / HTTP/1.0
    Authorization: Basic VVNFUjpTRUNSRVQK
こんな感じ。

Digest 認証ならば、web サーバは
    WWW-Authenticate: Digest realm="testrealm@host.com",
          nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
          opaque="5ccc069c403ebaf9f0171e9517f40e41
という感じのを返してくるので、クライアントは
    GET / HTTP/1.0
    Authorization: Digest username="hoge",
        realm="testrealm@host.com",
        nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
        uri="/",
        response="e966c932a9242554e42c8ee200cec7f6",
        opaque="5ccc069c403ebaf9f0171e9517f40e41"
こんな感じで。

詳細はこちらを。
    http://www.ietf.org/rfc/rfc2617.txt

No. 2613 # kouhei [E-mail] 2002/04/10 (水) 11:44:27
はじめまして、いつも勉強させて頂いております。
バージョン管理ソフトのCVSについて質問です。
ソースをレポジトリにインポートすると「ファイル名,v」となります。
,vが管理されていると言う事だと思うのですが、この管理している
ソースを直接WEBに反映したいのですが,vがある事でもとのファイルがみつからないとのエラーがブラウザに表示されてしまいます。
CVSROOTの中(loginfo等)はそれぞれ、元のファイルと,vのファイルがあり、チェックアウトしてソースを修正して戻すと両方のファイルが
更新されています。このようにする方法は無いのでしょうか。
以上、宜しくお願いします。

No. 2614 # kouhei [E-mail] 2002/04/10 (水) 11:46:46
申し訳ないです。下の質問わかりにくいですね。
例えばindex.htmlをインポートするとindex.html,vとなってしまう為
ブラウザーでindex.htmlを表示できないという事です。
宜しくお願いします。

No. 2615 # 68user 2002/04/10 (水) 12:48:27
>>2614 kouhei
目的は、履歴 (index.html,v) を表示することですか? それともコンテンツ
(index.html) を表示することですか?

No. 2616 # 68user 2002/04/10 (水) 12:59:54
>>2615 68user
追加。

もし後者だとしたら、リポジトリを直接ブラウザで見ようとして
いるのはなぜですか?

No. 2617 # kouhei [E-mail] 2002/04/10 (水) 13:07:10
素早いレスありがとうございます。
目的はコンテンツ(index.html)を表示したいということです。
参考にトップページのソースを拝見させていただきました。
1行目に<!--$ID:index.html,v 〜 があるというこはindex.htmlを
管理しているという事ですよね。これはチェックアウトした物を表示
しているのですか。
私がやりたいのはインポートしたindex.htmlを表示したいという事です

以上、宜しくお願いします。

No. 2618 # kouhei [E-mail] 2002/04/10 (水) 13:27:09
追加。
もしかして普通はこんな事しませんか。
テスト用サーバでcommitと同時に画面に反映されたらテストが楽に
なると思ったので。動作確認ができたら本番サーバにリリースする
というような事を考えていました。
実現できるのでしょうか。

No. 2619 # 68user 2002/04/10 (水) 15:37:20
>>2618 kouhei
> テスト用サーバでcommitと同時に画面に反映されたらテストが楽に
> なると思ったので。動作確認ができたら本番サーバにリリースする
> というような事を考えていました。
運用の問題になりますが、commit しないとテストできないというのは
面倒ではないですか?

普通、ちょっと作ってはブラウザで確認、不具合を修正し、確認し…と
修正・確認を繰り返して、まぁ問題ないだろうというときになったら
commit するものだと思います。

よって、
    - CVSROOT が /home/user/cvsroot
    - テスト環境を置くディレクトリが /home/user/public_html/
    - 本番環境を置くディレクトリが /usr/local/www/data/
だとしたら、
    % cd /home/user/public_html
    (ここで修正・確認を繰り返す)
    % cvs commit
    % cd /usr/local/www/data/
    % cvs update (本番環境に反映。あるいは再度 checkout しなおしてもよい)
とするのがよいと思います。

CVSROOT/loginfo をいじれば、commit した瞬間に本番環境へ反映させる
ことは不可能ではありませんが、常に本番環境に即時反映されるのも困る
場合があるんじゃないでしょうか?

また、本番環境への自動反映であれば、cron で定期的に更新するという
手もあります。loginfo で凝ったことをするより、cron で小回りのきく
単純なシステムを作った方がいいかもしれません。

Prev< No. 2611〜2619> Next  [最新発言に戻る] [過去ログ一覧]