auch ein BOM ist eine Sache der Vereinbarung. D.h., der Empfänger muss wissen, ob er ein BOM zu lesen hat und wenn ja, wieviele Bytes!
Die Logik dahinter ist jedoch dieselbe und läuft stets auf eine Vereinbarung Content-Type+Charset hinaus. Beim Content-Type text/html ist es möglich auf den Charsetparameter zu verzichten, weil dieser Content-Type die Möglichkeit vorsieht die Kodierung im Dokument selbst zu deklarieren.
Bei einem Content-Type text/plain (ohne Charsetangabe) hingegen wird ein Browser möglicherweise versuchen, anhand einer etwa vorhandenen BOM die Kodierung zu ermitteln.
MfG
PS: Ich schrieb möglicherweise. Mein FF jedenfalls tut es nicht. Dh. er kann, obwohl ein gültiges BOM vorhanden ist, die Kodierung gar nicht feststellen!
D.h., daß man nicht davon ausgehen kann, daß ein HTTP Client bei text/plain die Kodierung am Inhalt erkennt!