Resumen
NEWNEWSdebía ejecutarse con la marca conservada de la visita anterior, mientras la futura marca se obtenía medianteDATEantes de iniciar la consulta.- Ese orden superponía los intervalos. Un Message-ID podía reaparecer y ser reconciliado; adelantar el cursor al final podía ocultar para siempre una llegada intermedia.
- La respuesta era una lista de identificadores situada en un servidor, unos grupos y una ventana de llegada, no una historia universal ni una entrega de cuerpos.
Una ventana que no debía cerrarse tarde
Supongamos que el servidor empieza a responder al mediodía. Primero decide qué entradas cumplen la consulta; después transmite la lista. Mientras tanto llega un artículo. Si la selección ya pasó por el lugar correspondiente, el artículo no aparece. Si el cliente guarda como próximo inicio la hora de recepción de la última línea, tampoco aparecerá en la consulta siguiente. Ha quedado entre dos fotografías que aparentan tocarse.
El fallo es especialmente peligroso porque no produce una señal negativa. No hay identificador desconocido, contador roto ni error de protocolo. Solo falta algo que el cliente nunca supo que existía.
RFC 3977 prescribe otra secuencia. Al comenzar la sesión, el cliente solicita DATE y deja el resultado en almacenamiento temporal. Luego llama a NEWNEWS con la marca persistida en la sesión anterior. Cuando termina y acepta el resultado, sustituye la marca vieja por la hora que ya había capturado antes. La consulta siguiente volverá sobre una parte del terreno.
La idea original: descubrir nombres
En RFC 977, publicado en 1986, NEWNEWS recibía grupos, fecha y hora. Contestaba con los Message-ID de artículos publicados o recibidos desde entonces. Los patrones permitían abarcar varias jerarquías, la exclamación inicial excluía coincidencias y una lista vacía seguía siendo una respuesta válida.
El servidor no enviaba los artículos como parte de esta orden. Enviaba nombres para que el cliente decidiera cuáles recuperar. Por eso el resultado probaba descubrimiento, no custodia. Un identificador listado no garantizaba que su cuerpo hubiera sido descargado, procesado o conservado indefinidamente.
La sintaxis inicial incluía además un filtro de distribución. RFC 2980 documentó que distintos servidores interpretaban ese filtro de formas distintas. También señaló que NEWNEWS se deshabilitaba con frecuencia. Es una cautela histórica importante: estandarización y disponibilidad nunca fueron sinónimos.
La llegada era local, aunque el nombre fuera global
RFC 3977 distingue el Message-ID, pensado como identidad global, del número de artículo dentro de un grupo y servidor, y del instante de llegada a ese servidor. NEWNEWS decide con este último dato.
La fecha escrita por la persona autora no gobierna la inclusión. Un artículo antiguo que tarda en llegar puede ser nuevo para un servidor. El mismo artículo puede cruzar dos servidores en momentos diferentes. Así, la consulta no reconstruye un calendario absoluto de la red; reconstruye una porción de la experiencia de un nodo.
De ahí que la hora también deba provenir del servidor. RFC 2980 definió DATE para obtener UTC desde su perspectiva. RFC 3977 exige que la respuesta salga del mismo reloj utilizado para marcar llegadas y creación de grupos. No pretende reemplazar NTP. Su función es alinear la pregunta con el reloj que juzgará la respuesta.
Repetir era parte de la corrección
La marca nueva se toma antes, pero no adquiere autoridad inmediatamente. Durante la consulta sigue mandando la marca anterior. Si el cliente cae antes de aceptar y persistir toda la respuesta, al reiniciar repite el intervalo viejo. Este comportamiento puede parecer ineficiente; es precisamente lo que evita confundir una solicitud iniciada con datos duraderos.
La norma permite incluso retroceder dos o tres minutos la marca para tolerar pequeños errores. En su ejemplo, un Message-ID aparece en dos sesiones consecutivas. El duplicado hace visible el margen. Borrarlo mediante identidad es una operación controlable; inventar el artículo que faltó no lo sería.
Hay otra razón para no tratar la respuesta como una secuencia ordenada. RFC 3977 declara que el orden no tiene significado, puede variar dentro de la misma sesión y un Message-ID puede figurar varias veces en una sola lista. Repetirlo equivale a mencionarlo una vez. La lógica correcta es la de un conjunto reconciliable, no la de posiciones crecientes.
Lo que el solapamiento no promete
Un buen cursor no corrige una selección de grupos equivocada. Tampoco recupera datos que el servidor ya no puede informar, activa una capacidad ausente ni convierte dos servidores en un único testigo. Si la respuesta multilínea queda truncada, la marca no debe avanzar. Si cambia el patrón de grupos, el alcance histórico cambia aunque el campo de hora conserve el mismo aspecto.
El registro de parámetros NNTP de IANA define NEWNEWS como la capacidad que anuncia la disponibilidad de la orden. Es evidencia de interoperabilidad nominal, no de que una instalación concreta la ofrezca ni de que su archivo sea completo.
La virtud del diseño es más estrecha y más fuerte. Transforma una carrera temporal en una decisión sobre qué coste aceptar. El duplicado consume una comparación y deja un Message-ID. La omisión consume historia y no deja nada.
Un cursor es una afirmación
Guardar una hora parece contabilidad, pero concede autoridad: todo lo anterior se declara suficientemente observado para no volver a solicitarse. Si esa declaración se realiza al final de una consulta cuya cobertura acabó antes, el cursor certifica una ficción.
NEWNEWS hizo que la marca futura existiera desde el principio, pero esperara hasta el final para mandar. Entre ambos momentos, la marca antigua protegía la posibilidad de repetir. El protocolo prefirió una lista con ecos a un archivo con silencios inexplicables.
Fuentes
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
