|
[DOC] Header: come
leggerli
Versione: 2.2
Data: 22/02/2005
A cura di Rhadamanth.
Rhadamanth.net (ISSN 1825-0548)
http://www.rhadamanth.net
SOMMARIO
1. Introduzione;
2. Header
obbligatori;
3. Header opzionali;
4. Header non
standard;
5. Risorse;
6.
Newsreader, news server e strumenti utili;
7. Note;
8. Distribuzione;
9. Cronologia;
10. Disclaimer.
1. Introduzione
Header:
Intestazione di ogni messaggio, contenente campi
informativi e di servizio necessari per la
diffusione degli articoli su Usenet e per una
corretta visualizzazione nei newsreader.
2. Header
obbligatori
From:
Contiene l'indirizzo dell'e-mail della persona che
invia il messaggio.
Può contenere, come elemento aggiuntivo il nome di
chi ha inviato l'articolo.
I valori di From: vengono inseriti direttamente dal
mittente, questo fa sì che il campo non sia del
tutto attendibile.
Spesso infatti per questioni di spam o di privacy si
preferisce inserire un indirizzo e-mail fasullo.
Il nome può contenere qualsiasi carattere ASCII ad
eccezione delle parentesi tonde "( )", di quelle
angolari "< >", della virgola ",", dei due punti
":", del punto esclamativo "!", della chiocciola
"@", dello slash "/", del punto e virgola ";" e
dell'uguale "=".
A meno che essi non siano scritti sotto forma di "escaping"
(inserendo prima del carattere in questione il
backslah "\"), oppure che la stringa contenente i
caratteri di cui sopra sia racchiusa tra virgolette
("").
Esempio:
From: Nome Utente <nomeutente@provider.ext>
Date:
Indica la data dell'invio del post.
Il formato è quello standard.
Esempio:
Date: Fri, 10 Sep 2004 17:45:19 GMT
Newsgroup:
Indica il newsgroup sul quale l'articolo è stato
postato. E' possibile, leggendo questo header capire
se l'articolo è in crosspost (ovvero inviato a più
di un ng). In caso di crosspost i newsgroup saranno
separati da una virgola.
Le wildcards non sono ammesse in questo campo.
Esempi:
Newsgroup: it.comp.www.html
Newsgroup: it-alt.config, it.news.moderazione
Subject:
E' il titolo dell'articolo. Se presenta il
prefisso "Re:" indica che l'articolo è una risposta
ad un post precedente. I newsreader ordinano
solitamente i thread attraverso questo header,
questo può essere fonte di problemi se si utilizzano
newsreader non standard (dove non standard è inteso
come non rispettoso delle RFC in materia) che al
posto del corretto prefisso ne sostituiscono uno
proprietario. E' il caso di "R:" ad esempio.
Esempi:
Subject: Gli header, che mistero!
Subject: Re: Ciao a tutti!
Message-ID:
E' un valore univoco identificativo del post.
Il valore è racchiuso tra parentesi angolari "< >".
Il valore è formato da due parti divise dal simbolo
chiocciola "@".
La prima parte contiene una serie di caratteri
alfanumerici, mentre la seconda specifica il nome
del dominio del provider.
Solitamente Message-ID: è assegnato dal news server,
ma utilizzando newsreader evoluti è possibile
crearne di personalizzati.
Sono concessi tutti i caratteri ASCII ad esclusione
delle parentesi angolari "< >" e della chiocciola
"@".
Esempio:
Message-ID: <1cbav9jvdm6f7$.dlg@news.rhadamanth.net>
Path:
Indica il percorso, attraverso i vari news server,
che il post ha eseguito. Va letto all'incontrario.
Nel momento in cui l'articolo attraversa un news
server, quest'ultimo riscrive l'header copiando il
suo contenuto attuale e aggiungendovi all'inizio la
propria stringa.
I nomi possono essere separati da uno o più
caratteri di punteggiatura ad eccezzione del punto
".", che viene considerato come parte del nome dell'host.
La struttura divisa dai punti esclamativi viene
chiamata "bang path" (bang è il termine inglese che
appunto identifica il punto esclamativo "!") è
simile ad un header amministrativo utilizzato per il
routing delle e-mail su UUCP. Da questo deriva il
fatto che spesso il Path: inzia, per tradizione
ormai, con un "not-for-mail".
Esempio:
Path: news3.tin.it!news-out.tin.it!news-in.tin.it!nntp.infostrada.it!
twister1.libero.it.POSTED!not-for-mail
3. Header opzionali
Reply-To:
Contiene un indirizzo e-mail.
Se è presente permette di inviare posta all'autore.
E' consigliabile inserire un indirizzo valido
(soprattutto se postate in newsgroup moderati)
altrimenti chi vuole rispondervi in privato non
potrà farlo.
Esempio:
Reply-To: marcorossi@europa.coop
MIME-version:
E' la versione del MIME. MIME è l'acronimo di
Multipurpose Internet Mail Extensions. E' uno
standard generico per il formato dei documenti
scambiati su reti Internet, Intranet tramite posta
elettronica, news, ecc.
Esempio:
MIME-version: 1.0
Content-Type:
E' diviso in due parti: la prima indica in che
formato è stato scritto il post (text plain o HTML),
la seconda indica il charset.
Dove per charset indichiamo un set di caratteri (che
può essere standard o meno).
I charset standard (dove per standard indichiamo
charset accettati dallo IANA) si possono reperire al
seguente indirizzo:
http://www.iana.org/assignments/character-sets
I newsreader più evoluti permettono la gestione di
charset multipli.
Esempio:
Content-Type: text/plain; charset="iso-8859-1"
Sender:
Ha lo stesso formato del campo From:.
Permette di stabilire da quale account reale è stato
inviato il post.
Immaginiamo che Carlo Rossi sia andato dal suo amico
Aldo Verdi e voglia inviare un articolo ad un
newsgroup. Questo è quello che si potrà leggere
negli header:
From: Carlo Rossi <carlo@rossi.ext>
Sender: Aldo Verdi <aldo@verdi.ext>
Esempio:
Sender: Nome Utente nomeutente@provider.ext
Follow-up To:
Ha lo stesso formato del campo Newsgroup:.
Indica che i reply a questo post verranno
reindirizzati ad uno o più newsgroup. I newsgroup
multipli verranno separati da una virgola.
Può contenere anche la parola chiave "poster", per
indicare che il mittente preferisce ricevere le
risposte in privato.
Esempio:
Follow-up To: it.comp.www.html
Expires:
Specifica la data, in formato standard, finale
dopo la quale il messaggio verrà considerato nullo.
Ad esempio può essere utile nel caso in cui il post
contenga informazioni che abbiano una scadenza
prefissata.
In questo caso il valore di Expires: conterrà la
data in questione.
Se il news server è configurato per onorare l'Expires:
rimuoverà l'articolo, una volta scaduto, dal suo
spool.
Esempio:
Expires: Fri, 10 Sep 2004 17:45:19 GMT
References:
Indica tutti gli articoli che compongono un thread
specificandoli attraverso i loro Message-ID.
Attraverso questo campo è possibile risalire il
thread.
Se non è presente nessun valore significa che
l'articolo in questione è il messaggio originale, se
invece contiene almeno un Message-ID significa che
il post in questione è una risposta ad un altro
articolo.
Esempio:
Reference: <1cbav9jvdm6f7$.dlg@news.rhadamanth.net>
Control:
Se è presente significa che l'articolo è un control
message.
I control message sono utilizzati per comunicazioni
attraverso i news server e non sono visibili agli
utenti.
Distribution:
In origine (questo almeno era lo scopo previsto da
INN e C-News) questo header intendeva fornire un
meccanismo per restringere in maniera flessibile la
distribuzione di un articolo.
Si poteva infatti ordinare a INN di passare in
uscita ai propri peer articoli con l'header
Distribuition: impostato con specifici (ma soltanto
arbitrari) valori, come ad esempio: it, de, fr, es,
us, ecc.
Possibile anche agire all'opposto ovvero non passare
mai certi altri valori (!junk, !local).
Tuttavia questo scopo è fallito. Attualmente l'unico
uso pratico di Distribution: è quello di impedire
che articoli appartenneti ad una gerarchia privata
escano al di fuori del proprio contesto locale e
vengano distribuiti su tutta Usenet.
I news server della rete privata aggiungono il
valore local (o un equivalente e i news server che
comunicano con i peer esterni vengono configurati
per non passare ai propri feed "Usenet wide" gli
articoli con tale valore.
Ogni distribuzione deve è saparata da una virgola
",".
Esempio:
Distribution: uk
Organization:
E' un campo che può indicare una breve frase
descrittiva dell'organizzazione di cui fa parte chi
scrive o della quale fa parte il device.
Esempio:
Organization: Rhadamanth Labs [www.rhadamanth.net]
Keywords:
Specifica poche e selezionate parole chiave che
identificano l'articolo e ne permettono una più
rapida ricerca.
Esempio:
Keywords: documento, header, Usenet
Summary:
Contiene un breve riassunto del messaggio. Viene
solitamente utilizzato per post in Follow-up To: o
per una descrizione più dettagliata per articoli di
importanza rilevante come ad esempio manifesti o
F.A.Q.
Esempio:
Summary: Breve dizionario sui lemmi utilizzati
frequentemente su Usenet.
Approved:
Indica che il post è stato approvato dalla
moderazione (solo su newsgroup moderati).
Contiene solitamente l'e-mail del demone di
moderazione e la versione o il nome.
Può essere anche richiesto con certi control message.
Esempio:
Approved: robomod@news.nic.it (1.22)
Lines:
Indica di quante linee è formato un articolo.
Non è un valore attendibile.
Esempio:
Lines: 36
Xref:
E' "l'indice" attraverso il quale ciascun singolo
news server ordina gli articoli di un newsgroup.
Normalmente, quando vi collegate per scaricare i
nuovi articoli, le due macchine si scambiano
informazioni attraverso questo indice. E' variabile
per ciascun server.
Esempio:
Xref: news-in.tin.it italia.savona.discussioni:7152
User-Agent:
Indica il nome e la versione del newsreader
utilizzato da chi scrive.
Esempio:
User-Agent: 40tude_Dialog/2.0.14.1it
Content-Transfer-Encoding:
Indica la codifica del carico utile per il
trasporto attraverso il server.
Esempio:
Content-Tranfer-Encoding: 8bit
NNTP-Posting-Host:
E' il "nome" del news server che è stato
utilizzato per inviare l'articolo. Può essere in
formato "chiaro", o sotto forma di IP. Interrogando
appositi servizi, si può sapere da dove è stato
inviato l'articolo.
Esempio:
NNTP-Posting-Host: 82.50.134.80
NNTP-Posting-Date:
E' la data (in formato standard), indicata dal
news server, per l'invio del post.
Esempio:
NNTP-Posting-Date: Fri, 17 Sep 2004 12:38:46 MET DST
Mail-Copies-To:
Indica l'indirizzo e-mail a cui il mittente
gradirebbe l'invio di una copia delle risposte.
Può contenere anche la parola chiave "poster", per
indicare che tale indirizzo è quello contenuto nel
From: (o nel Reply-To:, se presente).
Può contenere anche la parola chiave "nobody", per
indicare che il mittente non vuole ricevere copia
delle risposte.
Supersedes:
Ha lo stesso formato di Message-ID.
Permette di sovrascrivere un articolo col nuovo
postato inserendo il Message-ID del messaggio da
cancellare.
4. Header non
standard
E' da precisare che tutti gli header preceduti da
"X-" sono aggiuntivi.
Se ne possono creare infiniti a piacere.
Ne esistono tuttavia alcuni comuni.
X-Complaints-To:
Viene inserito dal news server utilizzato dal
mittente, ed indica con chi protestare in caso di
abuso. Porre attenzione alla definizione di abuso di
rete.
Esempio:
X-Complaints-To: "Please send abuse reports to abuse@tin.it
and technical notifications to newsmaster@tin.it"
X-Trace:
Identifica il news server, la data espressa in
secondi dal 01/01/1970 (secondo il formato Unix), l'host
e la data esplicitata.
Esempio:
X-Trace: news4.tin.it 1095417526 82.50.134.135 (Fri,
17 Sep 2004 12:38:46 MET DST)
X-Face:
Permette di aggiungere una piccola immagine
(48x48 px) al messaggio postato.
Tale immagine è visibile solo su newsreader evoluti.
X-Received-Date:
E' la data di ricezione del post.
Esempio:
X-Received-Date: Thu, 16 Sep 2004 17:21:08 MET DST
(news4.tin.it)
X-No-Archive:
Fa sì che un messaggio non venga archiviato.
X-Priority:
Indica, in formato numerico, la priorità di un
articolo.
Esempio:
X-Priority: 3
X-MSMail-Priority:
E' la via Microsoft a X-Priority. Indica, in
formato testuale (basso, normale o alto) la priorità
di un post.
Esempio:
X-MSMail-Priority: Normal
X-Newsreader:
Specifica nome e versione del newsreader
utilizzato.
Esempio:
X-Newsreader: Microsoft Outlook Express
6.00.2800.1437
X-MimeOLE:
Indica il produttore del MimeOLE.
Esempio:
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
X-Code:
Indica il codice di un articolo.
Esempio:
X-Code: it-faq 000111.1316.5628
X-Server-Date:
Specifica la data del news server in formato
standard.
X-PGP-fingerprint:
Specifica una chiave PGP pubblica.
X-Content-Currency:
Rilascia informazioni sul contenuto.
5. Risorse
RFC822 (Standard for the format of ARPA Internet
text messages) (obsoleta)
RFC977 (Network News Transfer Protocol)
RFC1036 (Standard for Interchange of USENET
Messages)
Son-of-rfc1036 (News Article Format and Transmission)
RFC2119 (Key words for use in RFCs to Indicate
Requirement Levels)
RFC2822 (Internet Message Format)
6. Newsreader, news server e strumenti utili
Microsoft Outlook Express
Microsoft Outlook Express
Dialog
http://www.40tude.com/dialog/
Forté Agent
http://www.forteinc.com/main/homepage.php
XanaNews
http://www.wilsonc.demon.co.uk/d7xananews.htm
Qusnetsoft (per Pocket PC)
http://www.newsreader.tk/
MicroPlanet Gravity
http://mpgravity.sourceforge.net/
XNews
http://digilander.libero.it/xnews/
Hamster
http://web.tiscali.it/alexseb/hamster/index.htm
MesNews
http://www.zoo-logique.org/mesnews/
Thunderbird
http://www.mozilla.org/products/thunderbird/
Pimmy
http://www.geminisoft.com/it/pimmy/
SLRN
http://slrn.sourceforge.net/
INN
http://www.isc.org/index.pl?/sw/inn/
Diablo
http://www.openUsenet.org/diablo/
DNews
http://netwinsite.com/dnews.htm
MyNews
http://www.winews.net/
HighWind Software
http://www.highwind.com/
7. Note
La dizione "newsreader evoluto" non si applica a
nessuna versione di Microsoft Outlook Express e di
Qusnetsoft.
8. Distribuzione
Versione Usenet: ogni mese su it.faq, it.news.aiuto
Versione web:
http://www.rhadamanth.net/doc_header.php
Versione .txt: http://www.rhadamanth.net/Doc/doc_header_txt.txt
Versione .pdf: http://www.rhadamanth.net/Doc/doc_header_pdf.pdf
Versione .doc: http://www.rhadamanth.net/Doc/doc_header_doc.doc
Versione .rtf: http://www.rhadamanth.net/Doc/doc_header_rtf.rtf
9. Cronologia
0.6 beta - 01/09/2004: versione beta a cura di
Rhadamanth.
1.0 - 27/09/2004: corretti alcuni errori, aggiunte
informazioni e modificato il disclaimer a cura di
Rhadamanth.
1.1 - 04/10/2004: modifica ai nomi dei file per le
versioni web, .txt, .pdf, .doc e .rtf. A cura di
Rhadamanth.
1.2 - 26/10/2004: aggiunti nuovi link alla sezione 5
(risorse). A cura di Rhadamanth.
2.0 - 16/12/2004: modifiche alla struttura del
documento (su suggerimenti di Carlo Fusco), aggiunte
e integrazioni al testo. A cura di Rhadamanth.
2.1 - 22/12/2004: integrazioni al testo, corretti
alcuni errori (su suggerimenti di Carlo Fusco).
Aggiunte alla sezione 6 (ridenominazione). A cura di
Rhadamanth.
2.2 - 22/02/2005: integrazioni al testo, corretti
alcuni errori. A cura di Rhadamanth.
10. Disclaimer
Quest'opera è stata rilasciata sotto la licenza
Creative Commons
Attribuzione-NonCommerciale-NoOpereDerivate
2.0. |