HTTP - Parameter

In diesem Kapitel werden einige der wichtigen HTTP-Protokollparameter und ihre Syntax aufgelistet, wie sie in der Kommunikation verwendet werden. Beispiel: Format für Datum, Format der URL usw. Dies hilft Ihnen beim Erstellen Ihrer Anforderungs- und Antwortnachrichten beim Schreiben von HTTP-Client- oder -Serverprogrammen. Sie werden die vollständige Verwendung dieser Parameter in den folgenden Kapiteln sehen, während Sie die Nachrichtenstruktur für HTTP-Anforderungen und -Antworten lernen.

HTTP-Version

HTTP verwendet a <major>.<minor>Nummerierungsschema zur Angabe von Versionen des Protokolls. Die Version einer HTTP-Nachricht wird in der ersten Zeile durch ein Feld für die HTTP-Version angezeigt. Hier ist die allgemeine Syntax zur Angabe der HTTP-Versionsnummer:

HTTP-Version   = "HTTP" "/" 1*DIGIT "." 1*DIGIT

Beispiel

HTTP/1.0

or

HTTP/1.1

Einheitliche Ressourcenkennungen

Uniform Resource Identifiers (URI) sind einfach formatierte Zeichenfolgen, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird und die Namen, Speicherorte usw. enthalten, um eine Ressource zu identifizieren, z. B. eine Website, einen Webdienst usw. Eine allgemeine Syntax der für HTTP verwendeten URI lautet wie folgt:

URI = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

Hier, wenn die port Ist leer oder nicht angegeben, wird Port 80 für HTTP und leer angenommen abs_path ist gleichbedeutend mit einem abs_pathvon "/". Die anderen Zeichen als die in derreserved und unsafe Sätze entsprechen ihrer ""% "HEX HEX" -Codierung.

Beispiel

Die folgenden drei URIs sind äquivalent:

http://abc.com:80/~smith/home.html
http://ABC.com/%7Esmith/home.html
http://ABC.com:/%7esmith/home.html

Datums- / Zeitformate

Alle HTTP-Datums- / Zeitstempel MÜSSEN ausnahmslos in Greenwich Mean Time (GMT) dargestellt werden. HTTP-Anwendungen dürfen eine der folgenden drei Darstellungen von Datums- / Zeitstempeln verwenden:

Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format

Zeichensätze

Wir verwenden Zeichensätze, um die vom Client bevorzugten Zeichensätze anzugeben. Mehrere Zeichensätze können durch Kommas getrennt aufgelistet werden. Wenn kein Wert angegeben wird, ist der Standardwert US-ASCII.

Beispiel

Es folgen die gültigen Zeichensätze:

US-ASCII

or

ISO-8859-1

or 

ISO-8859-7

Inhaltscodierungen

Ein Inhaltscodierungswert gibt an, dass ein Codierungsalgorithmus verwendet wurde, um den Inhalt zu codieren, bevor er über das Netzwerk übertragen wird. Die Inhaltscodierung wird hauptsächlich verwendet, um zu ermöglichen, dass ein Dokument komprimiert oder auf andere Weise sinnvoll transformiert wird, ohne die Identität zu verlieren.

Bei allen inhaltscodierenden Werten wird die Groß- und Kleinschreibung nicht berücksichtigt. HTTP / 1.1 verwendet Inhaltscodierungswerte in den Headerfeldern Accept-Encoding und Content-Encoding, die in den folgenden Kapiteln angezeigt werden.

Beispiel

Im Folgenden sind die gültigen Codierungsschemata aufgeführt:

Accept-encoding: gzip

or

Accept-encoding: compress

or 

Accept-encoding: deflate

Medientypen

HTTP verwendet Internetmedientypen in der Content-Type und AcceptHeader-Felder, um eine offene und erweiterbare Datentypisierung und Typaushandlung zu ermöglichen. Alle Medientypwerte werden bei der Internet Assigned Number Authority (IANA) registriert. Die allgemeine Syntax zur Angabe des Medientyps lautet wie folgt:

media-type     = type "/" subtype *( ";" parameter )

Bei den Attributnamen für Typ, Subtyp und Parameter wird die Groß- und Kleinschreibung nicht berücksichtigt.

Beispiel

Accept: image/gif

Sprach-Tags

HTTP verwendet Sprach-Tags innerhalb der Accept-Language und Content-LanguageFelder. Ein Sprach-Tag besteht aus einem oder mehreren Teilen: einem primären Sprach-Tag und einer möglicherweise leeren Reihe von Untertags:

language-tag  = primary-tag *( "-" subtag )

Leerzeichen innerhalb des Tags sind nicht zulässig, und bei allen Tags wird die Groß- und Kleinschreibung nicht berücksichtigt.

Beispiel

Beispiel-Tags sind:

en, en-US, en-cockney, i-cherokee, x-pig-latin

Dabei ist jedes aus zwei Buchstaben bestehende Primär-Tag eine Abkürzung für die ISO-639-Sprache und jedes aus zwei Buchstaben bestehende anfängliche Sub-Tag ein ISO-3166-Ländercode.