Dieser Text wird in der Newsgroup de.newusers.infos gepostet und wendet sich dementsprechend auch an die Leser dieser Newsgroup. Er wird hier unverändert veröffentlicht.

Diese merkwürdigen Headerzeilen

Du solltest nach der Lektüre dieses Textes wissen, was Kopf- oder Headerzeilen in einem Newsbeitrag (“Artikel”, “Posting”) sind, welche Bedeutung die gebräuchlichsten Headerzeilen haben und welche Du ggf. ändern oder hinzufügen könntest.

Dieser Beitrag erhebt keinen Anspruch auf Vollständigkeit, denn es sollen hier nur die wichtigsten Headerzeilen behandelt werden. Wenn Du mehr wissen willst: am Ende dieses Textes findest Du Quellenangaben für mehr Infos sowie einige Hinweise für neue News-Administratoren.

Was ist eine Headerzeile?

Ein Newsartikel besteht aus Headerzeilen, gefolgt von einer Leerzeile und dem eigentlichen Artikeltext (auch “Body” genannt). Headerzeilen beeinflussen den Transport, die Speicherung und die Verarbeitung von Newsartikeln.

Ein Beispiel:

Path: uni-berlin.de!fu-berlin.de!news.albasani.net!not-for-mail
From: Jonas Gerhardt <jonas.gerhardt@domain.example>
Newsgroups: de.test
Subject: Re: Das ist ein Test ignore
Date: Sat, 14 Jan 2012 01:18:16 +0200
Message-ID: <use4me$bd5$1@news.albasani.net>
References: <ivs7jj$ns0$1@speranza.aioe.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
User-Agent: tin/2.6.4-20241019 ("Banff") (Linux/6.1.0-25-amd64 (x86_64))    \\
Gernot Breiner schrieb am 13.01.2012 um 22:40:   \\
> Das ist ein Test.   \\
Das hier auch!

Zumindest die wichtigsten Headerzeilen werden Dir in der Regel in Deinem Newsreader angezeigt, wenn auch nicht notwendig in der Form, wie sie tatsächlich im Posting stehen. Dazu gehören üblicherweise der Absender, die Gruppe, in der der Artikel veröffentlicht wurde, sein Betreff und das Datum.

Die anderen Headerzeilen müssen oft erst eingeblendet werden.

Wie kann ich Headerzeilen bearbeiten oder hinzufügen?

Wenn Du einen Newsartikel posten willst, hast Du üblicherweise die Möglichkeit, neben dem Artikeltext auch die wichtigsten Headerzeilen (insbesondere den Betreff und die Gruppe für die Veröffentlichung) anzugeben. Die restlichen notwendigen Headerzeilen werden dann vom Newsreader erzeugt.

Die meisten Newsreader erlauben Dir aber auch, einige oder alle Headerzeilen zu editieren und weitere Zeilen hinzuzufügen.

Bei Newsreadern - insbesondere solchen mit unixoiden Wurzeln -, die einen externen Editor starten, wird Dir der Entwurf des Beitrags oft wie in dem Beispiel oben angezeigt, nämlich vollständig mit allen Headerzeilen und dem Text. Du kannst dann beides frei editieren. Newsreader mit einer grafischen Benutzeroberfläche (GUI, “graphical user interface”) bieten hingegen regelmäßig nur wenige Headerzeilen zur unmittelbaren Bearbeitung an und ermöglichen es nur über weitere Bedienschritte, Headerzeilen hinzuzufügen oder vorhandene Headerzeilen zu bearbeiten. Die Einzelheiten dazu finden sich dann in der Dokumentation oder der Hilfe-Funktion des Newsreaders. Hinweise und Links zu gebräuchlichen Newsreader findest Du u.a. in der FAQ “Newsreader-Übersicht für Einsteiger” in de.newusers.infos:

From: thh@thh.name (Thomas Hochstein)
Newsgroups: de.newusers.infos,de.comm.software.newsreader,
            de.comm.software.outlook-express
Subject: <Datum> FAQ: Newsreader-Uebersicht fuer Einsteiger   \\
Archive-name: de-comm-software/newsreader-faq
Posting-frequency: weekly
URL: https://th-h.de/archives/faqs/newsreader-faq.txt
URL: https://www.kirchwitz.de/~amk/dni/newsreader-faq

In jedem Fall müssen hinzugefügte oder veränderte Headerzeilen den entsprechenden Formvorschriften genügen, damit Dein Beitrag korrekt verbreitet werden kann.

Wie sehen Headerzeilen aus?

Headerzeilen müssen strikten Formvorschriften gehorchen. Sie bestehen immer aus dem Namen der Headerzeile, der keine Leerzeichen (oder anderen Leerraum wie bspw. Tabulatoren) enthalten darf und mit einem Doppelpunkt endet. Nach genau einem Leerzeichen folgt dann der Inhalt der Headerzeile.

Ein Beispiel:

Subject: Re: Das ist ein Test ignore
Message-ID: <use4me$bd5$1@news.albasani.net>

Wenn Header über eine Benutzeroberfläche bearbeitet werden, sind meistens getrennte Eingabefelder für den Namen und den Inhalt der Headerzeile vorgesehen.

Sowohl die Namen der notwendigen und zulässigen Headerzeilen als auch der vorgesehene Inhalt (und dessen Format) sind vorgegeben. Die meisten Vorgaben sollte der verwendete Newsreader automatisch umsetzen. Tut er dies nicht, kann es sein, dass Du von anderen Netzteilnehmern einen Hinweis darauf bekommst, etwa: “Deine Message-ID ist nicht in Ordnung. Es ist wichtig, dass die Headerzeilen korrekt vorliegen: ansonsten kann Dein Artikel vielleicht nicht weitergeleitet werden.”

In Headerzeilen sind regelmäßig nur 7bit-Zeichen (ASCII) zulässig. Umlaute und andere Sonderzeichen dürfen dort nicht erscheinen, sondern müssen als sog. “MIME encoded words” kodiert werden. Das liest sich dann wie Kauderwelsch und lässt sich daher üblicherweise nicht von Hand erledigen, sondern sollte durch den Newsreader umgesetzt werden. Umgekehrt übersetzt ein MIME-fähiger Newsreader das Kauderwelsch dann bei der Anzeige wieder in lesbaren Text.

Die Headerzeile

Subject: =?UTF-8?Q?Die_n=C3=A4chste_freie_Person?=

führt zum Beispiel zu einem Betreff, der im Newsrader dann als “Die nächste freie Person” angezeigt wird.

Welche Headerzeilen müssen vorhanden sein?

Subject (Betreff)

Die Subject-Headerzeile (Betreff) soll angeben, worum es in Deinem Artikel geht. Leser entscheiden möglicherweise anhand dieses Betreffs, ob sie Deinen Artikel lesen oder überspringen.

Wenn Du auf einen anderen Artikel antwortest, wird normalerweise der Betreff des anderen Artikels mit den vier vorangestellten Zeichen “Re: “ automatisch übernommen. Leider missachten manche Newsreader diese Konvention 1 und setzen an die Stelle des “Re: “ ein länderspezifisches Kürzel (z.B. “AW: “ für “Antwort”). Andere Software verwendet die Form “Re^2: “, die ebenso verkehrt ist.

Falls sich die Diskussion in eine andere Richtung entwickelt, solltest Du jedoch die “Subject:”-Zeile an die veränderte Thematik anpassen. Es ist hierbei üblich, nach dem neuen Subject in Klammern “(was: altes Subject)” anzugeben; “was” ist hierbei das englische Wort für “war”. Beim Antworten auf einen solchen Artikel solltest Du dann die Klammer entfernen (einige Newsreader machen das sogar automatisch, aber nur, wenn Du “was” verwendest).

Ein Beispiel für einen sich ändernden Betreff:

Subject: Re: Altes Subject
Subject: Neues Subject (was: Altes Subject)
Subject: Re: Neues Subject

Lies hierzu auch die entsprechenden Anmerkungen in der Netiquette, die wie andere Info-Texte in der Newsgroup de.newusers.infos zu finden ist:

From: amk@spamfence.net (Andreas M. Kirchwitz)
Newsgroups: de.newusers.infos,news.answers,de.answers
Subject: <Datum> Netiquette fuer "de.*"   \\
Archive-name: de-newusers/netiquette
Posting-frequency: weekly
URL: http://www.kirchwitz.de/~amk/dni/netiquette

Newsgroups (Gruppe)

Hierhin kommt der Name der Gruppe, in die der Artikel gepostet wird.

Ab und zu kann es sinnvoll sein, den Artikel in mehr als eine Gruppe zu posten. In diesem Fall gibst Du in dieser Zeile die Namen aller betroffenen Gruppen an. Die Gruppennamen müssen dabei jeweils durch ein Komma (ohne Leerzeichen!) getrennt werden:

Newsgroups: de.newusers.infos,news.answers,de.answers

Bitte nicht denselben Artikel in jede Newsgruppe einzeln posten!

Die Methode, mehrere Gruppennamen in diese Zeile zu schreiben, nennt man “Crossposting”. Sie hat gegenüber dem “einzeln in mehrere Gruppen schreiben” eine Reihe von Vorteilen: Der Artikel wird nur einmal übertragen, auf vielen Newssystemen steht der Artikeltext nur einmal auf der Platte und viele Newsreader erkennen, dass der Artikel bereits in einer anderen Gruppe gelesen wurde und zeigen ihn nicht nochmals in den weiteren Gruppen an.

Bitte beachte, dass exzessives Crossposting – insbesondere über mehrere Hierarchien (z.B. de., z-netz. etc.) hinweg – maximal unerwünscht ist. Wer dies nicht beachtet, kann sehr schnell Ärger bekommen. Eine Klassifizierung für “exzessiv” mit einer absoluten Zahl gibt es nicht. Wenn es unbedingt ein Crossposting sein muss, so sei Dir hier der Rat gegeben, dies in nicht mehr als zwei oder drei thematisch passende Gruppen zu tun (natürlich inklusive gesetztem “Followup-To”, doch dazu später).

Es ist meist sinnvoll (und gilt als höflich), bei einem “gecrossposteten” Artikel die Antworten nur in eine Gruppe zu leiten. Siehe dazu die “Followup-To:”-Headerzeile weiter unten.

Automatisch ergänzte Headerzeilen

Außer den oben genannten müssen noch folgende Headerzeilen vorhanden sein:

  • From:,
    der Absender bzw. richtiger Autor des Beitrags, wobei der Aufbau dieser Headerzeile in RFC 5536, Abschnitt 3.1.2 bzw. in RFC 5322, Abschnitt 3.6.2, beschrieben ist,

  • Date:,
    das Datum, beschrieben in RFC 5536, Abschnitt 3.1.1,

  • Message-ID:,
    eine eindeutige technische Kennung, die das Posting identifiziert, beschrieben in RFC 5536, Abschnitt 3.1.3, und

  • Path:,
    der Laufweg des Postings, beschrieben in RFC 5536, Abschnitt 3.1.5.

(Quellenangaben für die RFCs s.u.)

Diese Headerzeilen werden beim Erstellen oder Absenden des Beitrags automatisch erzeugt, und Du solltest daran nichts editieren. (Es sei denn, Du möchtest für diesen Beitrag einen anderen Absender als sonst verwenden.)

Welche anderen, optionalen Headerzeilen gibt es?

Reply-To (Mailantwort an)

Diese Headerzeile dient dazu, Antworten per E-Mail an eine andere Adresse als in der “From:”-Zeile umzuleiten und sollte nur dann benutzt werden, wenn die “Reply-To:”-Adresse auch tatsächlich eine andere ist als die in der “From:”-Zeile genannte (gültige!) Adresse.

Followup-To (öffentliche Antwort an)

Diese Headerzeile ist das Äquivalent zu “Reply-To:”” für ein Followup, also eine öffentliche Antwort auf Deinen Artikel. Du gibst hier die Newsgruppe(n) an, in welche Antworten auf den Artikel gepostet sollen, falls diese von den Gruppen in der “Newsgroups:”-Zeile abweichen. Verwendet wird dies z.B., wenn Du einen Artikel in mehrere Gruppen schreibst, aber die Antworten in nur einer Gruppe haben willst, oder wenn es zu der Gruppe, in welcher der Artikel steht, eine separate “Diskussionsgruppe” gibt (die meistens die Endung “.d” trägt), wie beispielsweise “de.talk.jokes” für Witze und “de.talk.jokes.d” für Diskussionen darüber. Die Headerzeile “Followup-To:” sollte immer nur eine Gruppe enthalten (nämlich die für Deinen Artikel thematisch am besten geeignete Gruppe).

Ein Sonderfall ist die Angabe von “Followup-To: poster”. Dies bedeutet, dass Antworten nur per Mail an Dich gerichtet, jedoch keine Followups in den News gepostet werden sollen. “Followup-To: poster” ist zum Beispiel sinnvoll, wenn die Diskussion auf eine persönliche Ebene abdriftet und nicht mehr für die Leser interessant ist (wüste Beschimpfungen, Diskussion nur noch zwischen zwei Leuten, etc.). Leider verstehen das einige Newsreader nicht, andere hingegen überlassen Dir die Wahl zwischen einem (öffentlichen) Followup oder einer Antwort per E-Mail.

Beachte:

Followup-To: poster,irgendeine.news.group

funktioniert nicht! “poster” muss, wenn es verwendet wird, in der “Followup-To”-Headerzeile alleine stehen.

Sender (technischer Absender)

Der Verwendungszweck dieser Headerzeile ist die Angabe des technischen Absenders, also des tatsächlichen Posters des Artikels, wenn dieser vom Autor (im “From:”) abweicht. Sie ist daher nur dann sinnvoll, wenn man einen fremden Beitrag postet. Üblicherweise findet man diese Headerzeile daher in moderierten Gruppen, wenn dort der Moderator Postings von anderen Leuten veröffentlicht. In der “From:”-Zeile stünde dann die Adresse desjenigen, der den Artikel verfasst hat und gepostet haben möchte, in der “Sender:”-Headerzeile die Adresse des Moderators, also desjenigen, der den(fremden) Artikel in das Usenet einspeist.

Im normalen Gebrauch solltest Du diese Headerzeile jedoch nicht verwenden.

Organization (Organisation)

Beachte: “z” anstatt “s”!

Diese Zeile gibt an, welcher Organisation Du angehörst oder wem der Rechner gehört, auf dem Du Deinen Artikel schreibst oder bei dem Du Deinen Artikel einlieferst. Oft wird diese Zeile vom Newssystem automatisch eingesetzt, wenn sie leer ist.

References (Bezüge)

Diese Zeile sollte nur existieren, wenn Du auf einen anderen Artikel antwortest. Hier steht die “Message-ID:” des beantworteten Artikels und eventuell außerdem die Message-IDs aus der “References:”-Zeile, welche der beantwortete Artikel schon enthalten hat. Dies wird von vielen Newsreadern benutzt, um zu erkennen, dass sich Dein Artikel auf den beantworteten bezieht. Falls Deine Antwort eine neue Diskussion eröffnet, solltest Du eventuell die References-Zeile löschen und damit den Bezug zum alten Artikel lösen. Die References-Zeile kann u.U. sehr lang werden. Falls Dein System Probleme mit der Bearbeitung sehr langer Zeilen hat und Du die References-Zeile kürzen willst, solltest Du mindestens die erste und die beiden letzten IDs stehen lassen.

Supersedes (“ersetzt”)

Viele Newsreader können ein von dir geschriebenes Posting auch “superseden” (überschreiben) anstatt zu canceln. Solltest Du in einem schon geposteten Artikel zum Beispiel noch eine Anmerkung vergessen haben, so supersedest Du diesen Artikel (der Newsreader ruft den Editor mit dem Artikel auf, und Du kannst Deine Anmerkung hinzufügen), anstatt ihn zu canceln und nochmals neu einzugeben.

Die Supersedes-Headerzeile enthält die Message-ID des zu “überschreibenden” Artikels.

X-No-Archive: yes (keine Archivierung)

Diese Headerzeile soll verhindern, dass Deine Posting in Webarchiven wie früher bspw. https://groups.google.com/ angezeigt werden.

Solltest Du keine optionalen Headerzeilen Deinem Posting hinzufügen können, so kannst Du diese Headerzeile auch in die erste Zeile des Artikels schreiben.

Die Beachtung dieser Headerzeile ist nicht gesichert.

Zeichenkodierung

Auch im Artikeltext eines Newsbeitrags sind standardmäßig nur 7bit-Zeichen (ASCII) zulässig. Um dort Umlaute und andere Sonderzeichen verwenden zu können (die dann auch richtig angezeigt) werden, braucht man MIME (“Multipurpose Internet Mail Extensions”). Entsprechende Headerzeilen geben die MIME-Version an (regelmäßig Version 1), Art und Zeichensatz des Inhalts sowie die verwendete Transportkodierung.

Ein Beispiel:

MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Dieses Posting enthält reinen Text (wie es sein soll, also kein HTML) im Zeichensatz “UTF-8”, und die über ASCII hinausgehenden Zeichen stehen ohne weitere Transportkodierung im Artikeltext.

Diese Headerzeilen sollte Dein Newsreader passend erzeugen.

Weitere optionale Headerzeilen

Es gibt noch eine Vielzahl weiterer möglicher Headerzeilen, die hier nicht aufgeführt wurden. Zum Schreiben eines Artikels sind sie nicht unbedingt nötig.

RFC 5536 beschreibt diese in Kapitel 3.2.

Wo erfahre ich mehr?

Die News-Headerzeilen sind in den Internet-Standard-Dokumenten, den sog. RFCs (Requests for Comment) definiert. Für News-Headerzeilen relevant sind derzeit RFC 5322 sowie RFC 5536 und RFC 5537.

Alle RFCs sind auf der Website der IETF (Internet Engineering Task Force) oder beim RFC-Editor zu finden:

Die für Newsartikel relevanten RFCs sind auch auf den Webseiten von Russ Allbery zusammengestellt:

Hinweise für News-Administratoren

Hier kurz die häufigsten Konfigurationsfehler im Zusammenhang mit News-Headerzeilen:

  • Die “Path:”-Headerzeile dient dazu, zu speichern, über welche Sites ein Artikel bereits gelaufen ist, damit der Artikel nicht nochmals zu diesen Sites geschickt wird. Das setzt voraus, dass Deine Site hier einen weltweit eindeutigen Namen einträgt, in der Regel den vollständigen Hostnamen einschließlich Domain (“full qualified domain name” oder “FQDN”).

  • Die “Message-ID:”-Headerzeile muss ebenfalls weltweit eindeutig (!) sein; darüber hinaus ist dafür folgendes Format vorgeschrieben: <localpart@domainpart> Dabei dürfen beide Teile alle Zahlen sowie Groß- und Kleinbuchstaben des US-ASCII-Zeichensatzes enthalten, sowie die folgenden Sonderzeichen:

    !?#$%&*+-/={}'^_`|~
    

    Zwischen solchen Zeichenfolgen darf auch ein Punkt . stehen, aber nicht am Beginn oder am Ende oder zweimal nacheinander. “domainpart” sollte zudem der FQDN des Newsssystems sein.

  • Bei der “Date:”-Headerzeile gibt es manchmal Probleme mit Zeitzonenangaben. Unbekannte Zeitzonen werden von den meisten Programmen als UTC (GMT) 2 interpretiert. Am besten funktioniert es, als Zeitzone “+0100” bzw. bei Sommerzeit “+0200” einzutragen. Die Zeitzone darf nur aus einem Wort bestehen, die Angabe “GMT +0100” wäre also fehlerhaft.

Maintainer und Danksagung

Derzeit wird dieser Text von Thomas Hochstein thh@thh.name betreut.

Er ist auch in einem Git-Repository unter https://code.virtcomm.de/faqs/headerzeilen/ verfügbar und kann über die Weboberfläche eingesehen oder ausgecheckt werden.

Dank gilt insbesondere dem Autor und den früheren Maintainern:

  • Wolfgang Zenker (Ur-Autor dieses Textes)
  • Björn Schotte (Maintainer bis 02/2003)
  • Christoph Garbers (Maintainer bis 09/2011)

und für Beiträge zu dem Text in der jetzigen oder einer früheren Fassung:

Oliver Fink, Gert Doering, Werner Icking, Martin Sluka, Ralf Wenk, Walter Mildenberger, Andreas Bewersdorff, Christian-Peter Weiss, Klaus Baldermann, Marcel Logen

Ergänzungen und Korrekturen, Lob und Kritik nimmt der Betreuer dieses Textes gerne entgegen.

  1. Vergleiche RFC 5537, Abschnitt 3.4.3 (Bezugsquellen s.u.) 

  2. “UTC” = “Coordinated Universal Time”,
    “GMT” = “Greenwich Mean Time”