CCSOネームサーバーまたは Ph プロトコルは、インターネット上のデータベース検索の初期の形態でした。最も一般的な形態では、電話番号や電子メール アドレスなどの情報を検索するために使用されました。[ 1 ]現在、このサービスはLDAPにほぼ置き換えられています。主に 1990 年代前半から中頃にかけて使用されました。[ 2 ]このネームサーバーは、イリノイ大学アーバナ・シャンペーン校のコンピューティングおよび通信サービス オフィス (CCSO) のSteve Dornerによって開発されました。
OutlookPH と呼ばれる Outlook プラグインおよびスタンドアロン アプリケーションも存在します。[ 3 ]
ネームサーバーのディレクトリは、Gopherの階層構造で整理されることが多かった。「Ph」と「Qi」という2つのツールがシステムの構成要素であり、PhはQiサーバーに問い合わせを行うクライアントであった。
Ph プロトコルは、 1998 年 9 月にRFC 2378で正式に定義されました。ただし、この時に発行されたメモには、この日付より前の期間、特定されていない期間にわたって使用されていたことが言及されています[ 4 ] (プロトコルの開発は 1988 年頃に始まり[ 5 ]、1991 年頃から使用されていました[ 6 ] [ 7 ] )。このプロトコルでは、サーバー側でレコードのプロパティを定義するために使用できる 16 個のキーワードが定義されています。また、クライアントがサーバー上のレコードにアクセスする方法と、サーバーが返す応答も定義されています。Ph サーバーとの通信はTCPポート 105 で行われます。
歴史的な理由から、クライアントが明示的に 8 ビット (ISO-8859-1) エンコーディングを要求しない限り、すべてのコマンドとレスポンスは最初は US-ASCII エンコーディングであると想定されます。そのため、サーバーは最初に 0x20 から 0x7E までの文字のみを生の形式で送信します。エントリに他の文字が含まれている場合は、RFC 2045で定義されている「Quoted-Printable」エンコーディングを使用してエスケープされます。クライアントからの最初の要求は、テキストベースキーワードであり、オプションで 1 つ以上のパラメーターがRFC 2378で定義されています。サーバーは要求に応答します。ステータス要求に対する次の応答例は、RFC メモで提供されています。
C: ステータス S: 100:Qiサーバー $リビジョン: 1.6 $ S: 100:Ph パスワードは CCSO 会計で入手できます。 S: 100:1420 デジタルコンピュータラボ、月曜日から金曜日の午前8時30分から午後5時まで。 S: 100: イリノイ大学の学生証を必ず持参してください。 S: 200:データベース準備完了
RFC 2378で定義されている各コマンドは、キーワードに続いて必要に応じて1つ以上のパラメータまたはキーワードが続きます。これらはスペース、タブ、または行末で区切ることができます。各行はCR+LF形式で終了する必要があります。
以下は、いくつかのコマンドの例です。
状態
このコマンドはパラメータを取らず、サーバーに上記のようにステータスを報告するよう要求するだけです。
サイト情報
サーバーのバージョン、メールのドメイン、パスワードの問題や認証方法に関する問い合わせ先などの情報を返します。
フィールド [フィールド ...]
サーバー上で利用可能なすべての入力フィールド、または指定された名前のフィールドのみを一覧表示します。
ID情報
ログインせずに、指定された情報を現在のユーザーIDとしてサーバーにログ記録させます。
[オプション[=値] ...] を設定します
サーバー上の指定されたオプションを値に設定します。パラメータを指定せずに使用すると、現在のサーバー設定が表示されます。
ログイン [エイリアス] ログアウト
これはサーバーへの実際のログイン/ログアウトコマンドです。ここで、エイリアスはユーザーのPhエイリアスである必要があります。ログインすると、ユーザーは自分のエントリを変更したり、その中の特定のフィールドを表示したりできます。制限付きアクセスにはフラグが必要です。
暗号化された応答への回答 クリア 平文パスワード
クライアントは通常、ログインコマンド送信後にパスワード情報を送信するために、これらのいずれかを使用します。
やめる 出口 停止
これらのうち1つ以上が、サーバーによってセッション終了コマンドとして認識され、接続が閉じられます。
配布されていたネームサーバーは、フラットファイルデータベースを基盤としていました。1990年代初頭、インディアナ大学のソフトウェア開発者ラリー・ヒューズは、 Perlで記述され、リレーショナルデータベースを基盤とするQiのバージョン(「Phd」と呼ばれていました)を実装しました。このコードは、大学がLDAPに移行するまでの数年間、オープンソースライセンスの下で配布されていました。