RFC 2616 umfasst dies:
OCTET = <any 8-bit sequence of data>
CHAR = <any US-ASCII character (octets 0 - 127)>
UPALPHA = <any US-ASCII uppercase letter "A".."Z">
LOALPHA = <any US-ASCII lowercase letter "a".."z">
ALPHA = UPALPHA | LOALPHA
DIGIT = <any US-ASCII digit "0".."9">
CTL = <any US-ASCII control character
(octets 0 - 31) and DEL (127)>
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)>
<"> = <US-ASCII double-quote mark (34)>
Und dann so ziemlich alles andere in dem Dokument in Bezug auf diesen Einheiten definiert (OCTET
, CHAR
usw.). Sie können also über den RFC nachsehen, welche Teile einer HTTP-Anfrage/Antwort OCTET
s enthalten können; Alle anderen Teile müssen ASCII sein. (Ich würde es selbst tun, aber es würde eine lange Zeit dauern)
Für die Anfrage Zeile speziell, die Methodenname und HTTP-Version werden nur ASCII-Zeichen, aber es ist möglich, dass die URL selbst enthalten könnte Nicht-ASCII-Zeichen. Aber wenn Sie RFC 2396 betrachten, sagt es das.
Ein URI ist eine Folge von Zeichen aus einem sehr begrenzten Satz, d. H. Die Buchstaben des lateinischen Grundalphabetes, Ziffern und einige Sonderzeichen.
Was ich denke, bedeutet, dass es auch aus ASCII-Zeichen bestehen wird.
Ich weiß, wir sollten ** einen Grundsatz erwarten, aber meinst du, es ist ein ** außer ** - Ion zu? ;-) – Lucius