• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

RFC822 Header Field Auslesen

nvidia

New member
Hallo,
ich beschäftige mich seite einiger Zeit mit Internetprotokollen und möchte die verschiedenen Headerfelder auslesen. Ich hab mir die Protkollbeschreibung durchgelesen, aber sie ist ein bisschen verwirrend. Hintergrund:
Ich hab einen String in dem sind die header-Felder durch CRLF(also z.b.\r\n Zeilenumbruch) getrennt.
Die folgenden Zitate sind aus der Protokollanleitung und beschreiben, das es solche CRLF auch in den Felder selbst geben kann und wie man sie herausfiltert, damit man die Felder korrekt auslesen kann.
Each header field can be viewed as a single, logical line of ASCII characters, comprising a field-name and a field-body.
For convenience, the field-body portion of this conceptual entity can be split into a multiple-line representation; this is called "folding". The general rule is that wherever there may be linear-white-space (NOT simply LWSP-chars), a CRLF immediately followed by AT LEAST one LWSP-char may instead be inserted.
Was ist der Unterschied zwischen einem Linear-Whitespace und einem normalen Whitespace?
Wie soll man den fetten Satzteil verstehen?
Weiterhin heißt es:
The process of moving from this folded multiple-line representation of a header field to its single line representation is called "unfolding". Unfolding is accomplished by regarding CRLF immediately followed by a LWSP-char as equivalent to the LWSP-char.
Okay, das heißt also ich scanne erstmal den String nach CRLF gefolgt von LWSP-char und lösche die CRLF, dann hab ich keine CRLF mehr in den Feldern.
While the standard permits folding wherever linear-white-space is permitted, it is recommended that structured fields, such as those containing addresses, limit folding to higher-level syntactic breaks. For address fields, it is recommended that such folding occur between addresses, after the separating comma.
d.h. also es kann auch ein CRLF nach Testperson@gmail.com,CTRLTestperson2@gmail.com kommt.
Aber das ist doch jetzt ein Wiederspruch zum 2ten Zitat.
Dann klappt das unfolden, das ich tun will, nicht mehr?
Hier hab ich das gelesen. Es geht nur um den Abschnitt 3.1.1. LONG HEADER FIELDS
http://www.w3.org/Protocols/rfc822/3_Lexical.html
vielleicht könnt ihr mir helfen,
gruß nvidia
 
Zuletzt bearbeitet:
Von hier: http://www.webmasterworld.com/css/3623733.htm
I am assuming the person that wrote that was referring to whitespace as defined in the RFC, linear white space (LWS) which is carriage return, linefeed, space, and horizontal-tab.

CR = <US-ASCII CR, carriage return (13)>
LF = <US-ASCII LF, linefeed (10)>
SP = <US-ASCII SP, space (32)>
HT = <US-ASCII HT, horizontal-tab (9)>
ich würde das einfach so interpretieren dass jede Zeile die mit einem whitespace anfängt kein neues header-field ist sondern die fortsetzung des vorherigen bodies
Code:
name: body
name: body
 more body
name: body
 
Zurück
Oben