Un servidor de nombres CCSO o protocolo Ph fue una forma temprana de búsqueda de bases de datos en Internet. En su forma más común, se usaba para buscar información como números de teléfono y direcciones de correo electrónico . [1] Hoy en día, este servicio ha sido reemplazado en gran medida por LDAP . Se usó principalmente a principios y mediados de la década de 1990. [2] El servidor de nombres fue desarrollado por Steve Dorner en la Universidad de Illinois en Urbana-Champaign , en la Oficina de Servicios de Computación y Comunicaciones (CCSO) de la universidad.
También existe un complemento de Outlook y una aplicación independiente conocida como OutlookPH. [3]
Los directorios de servidores de nombres se organizaban con frecuencia en jerarquías Gopher . Las herramientas "Ph" y "Qi" eran los dos componentes del sistema: Ph era un cliente que consultaba al servidor Qi.
El protocolo Ph fue definido formalmente por RFC 2378 en septiembre de 1998. Sin embargo, el memorando emitido en ese momento hace referencia a su uso anterior durante un período de tiempo no especificado antes de esta fecha [4] (el trabajo sobre el protocolo comenzó alrededor de 1988, [5] y estuvo en uso desde alrededor de 1991 [6] [7] ). Define dieciséis palabras clave que se pueden utilizar en el lado del servidor para definir las propiedades de los registros. También define cómo los clientes deben acceder a los registros en el servidor y qué respuestas debe dar el servidor. La comunicación con el servidor Ph se lleva a cabo en el puerto TCP 105.
Por razones históricas, se supone que todos los comandos y respuestas están codificados en US-ASCII, a menos que el cliente solicite explícitamente una codificación de 8 bits (ISO-8859-1). Como resultado, el servidor solo envía inicialmente caracteres entre 0x20 y 0x7E en formato sin formato. Otros caracteres, si están presentes en las entradas, se escaparán utilizando la codificación "Quoted-Printable" definida en RFC 2045. La solicitud inicial del cliente es una palabra clave de base de texto seguida opcionalmente por uno o más parámetros, como se define en RFC 2378. A continuación, el servidor responde a la solicitud. El siguiente ejemplo de respuesta a una solicitud de estado se proporciona en el memorando RFC.
C: estadoS: 100: Servidor Qi $Revisión: 1.6 $S: 100: Las contraseñas de Ph se pueden obtener en CCSO Accounting,S: 100:1420 Laboratorio de Computación Digital, de 8:30 a 5 de lunes a viernes.S: 100:Asegúrese de traer su tarjeta de identificación de la Universidad de Illinois.S: 200: Base de datos lista
Cada comando definido en el memorando RFC 2378 consta de una palabra clave seguida, según sea necesario, de uno o más parámetros o palabras clave. Pueden estar separados por espacios, tabulaciones o el final de la línea. Cada línea debe terminar en el estilo CR+LF .
Los siguientes son algunos de los comandos:
estado
Este comando no toma parámetros y simplemente pide al servidor que informe su estado como se indica anteriormente.
información del sitio
Devuelve información como la versión del servidor, el dominio de correo y a quién contactar sobre problemas de contraseña y métodos de autenticación.
campos [campo ...]
Enumere todos los campos de entrada disponibles en el servidor o solo aquellos del nombre o nombres especificados.
información de identificación
Hace que el servidor registre la información especificada como el ID de usuario actual sin iniciar sesión.
establecer [opción[=valor] ...]
Establece la opción especificada en el servidor como valor. Si se utiliza sin parámetros, enumera la configuración actual del servidor.
iniciar sesión [alias]cerrar sesión
Estos son los comandos de inicio y cierre de sesión reales para el servidor. Aquí, el alias debe ser el alias de teléfono del usuario. El inicio de sesión permite que un usuario cambie su propia entrada y vea ciertos campos en ella. Marcar para acceso restringido.
respuesta encriptadaBorrar contraseña de texto claro
El cliente normalmente utiliza uno de estos para enviar la información de la contraseña después de enviar el comando de inicio de sesión.
abandonarsalidadetener
El servidor reconocerá uno o más de estos como un comando de fin de sesión que cierra la conexión.
Tal como se distribuyó, el servidor de nombres estaba respaldado por una base de datos de archivos planos . A principios de los años 90, el desarrollador de software de la Universidad de Indiana, Larry Hughes, implementó una versión de Qi (llamada "Phd") que estaba escrita en Perl y respaldada por una base de datos relacional . Ese código se distribuyó bajo una licencia de código abierto durante varios años antes de la transición de la universidad a LDAP.