Documentazione IRC · Intermedio
Il protocollo IRC: client, messaggi e canali
IRC è un protocollo testuale di scambio in tempo reale. Il client invia comandi al server, che controlla i permessi, mantiene lo stato della rete e distribuisce gli eventi ai destinatari interessati.
Il team di Dialova · Verificato il
In questa sezione
- Leggere e analizzare il formato di un messaggio IRCScomponi un messaggio IRC: tag, sorgente, comando, parametri, ultimo parametro e CRLF. Lunghezze, UTF-8 e insidie di un parser su TCP.
- Capire le risposte numeriche IRCLeggere i numeric IRC: destinatario, codice, parametri e testo. Esempi 001, 005, 311, 353 ed errori, distinguendo estensioni e RFC storiche.
Client, server, rete e IRCd #
Il client è il software usato per chattare. Il server è un punto di connessione. La rete può collegare più server che condividono canali e utenti. L’IRCd è il software che fa funzionare un server. Installare lo stesso IRCd di un’altra persona non ti colloca sulla sua rete.
Un canale è uno spazio di conversazione all’interno della rete. I messaggi privati si rivolgono generalmente a una presenza identificata da un nickname. Un cambio di nickname, un account dei servizi e una disconnessione sono concetti ed eventi distinti.
Dalla connessione all’ingresso in un canale #
- Stabilire il trasporto e verificare TLS quando viene usato.
- Negoziare le capacità utili e dichiarare NICK/USER.
- Eseguire SASL se previsto dalla rete e dalla configurazione.
- Terminare la negoziazione e attendere la conferma della registrazione IRC.
- Entrare in un canale consentito con JOIN, quindi leggerne l’argomento e l’elenco degli utenti.
USER fornisce un identificativo e un realname, che non è necessariamente un vero nome anagrafico. PASS, quando richiesto, riguarda una password di connessione; non è un sinonimo universale di identificazione ai servizi. PING/PONG mantiene la connessione e non va confuso con un messaggio di chat.
Canali, gradi e operatori #
| Concetto | Responsabilità |
|---|---|
| Modalità utente | Proprietà di una presenza sulla rete. |
| Modalità del canale | Regola o proprietà di uno spazio di conversazione. |
| Operatore di canale | Utente con permessi su un canale. |
| IRCop / operatore di rete | Account o presenza con autorizzazioni di amministrazione della rete. |
| Servizi | Componenti come NickServ o ChanServ, integrati o separati secondo la rete. |
Il simbolo @ in un elenco di utenti indica spesso un operatore del canale, non un amministratore della rete. PREFIX e CHANMODES in ISUPPORT descrivono la grammatica delle modalità annunciate; le loro lettere non formano un elenco identico su tutti gli IRCd.
CTCP, DCC, cronologia e contenuti multimediali #
CTCP incapsula alcune convenzioni tra client nei messaggi IRC; un’azione /me è generalmente un messaggio ACTION CTCP. DCC negozia comunicazioni dirette tra client, per esempio per trasferire file. Sono meccanismi diversi dall’hosting di immagini su un sito.
TLS protegge un trasporto. WebSocket adatta il trasporto al browser quando l’infrastruttura lo permette; non trasforma IRC in un protocollo video. Webcam e chiamate di Dialova usano un livello multimediale distinto. Anche cronologie e account persistenti richiedono funzioni del server, del bouncer o dell’applicazione.
Fonti e verifica
Gli esempi usano nickname e domini fittizi, tranne gli endpoint esplicitamente documentati. Le estensioni e le impostazioni specifiche di una rete sono indicate nel testo.
- Modern IRC — spécification du protocole client ↗Fonte della specifica · consultata il 2026-10-29
- RFC 2812 — Client Protocol (2000) ↗Fonte storica · consultata il 2026-10-29
- IRCv3 — catalogue des spécifications ↗Fonte della specifica · consultata il 2026-10-29
- RFC 7194 — port IRC sur TLS ↗Fonte della specifica · consultata il 2026-10-29