diff options
Diffstat (limited to 'files/de/web/http/headers')
17 files changed, 2162 insertions, 0 deletions
diff --git a/files/de/web/http/headers/accept/index.html b/files/de/web/http/headers/accept/index.html new file mode 100644 index 0000000000..072e1bebd3 --- /dev/null +++ b/files/de/web/http/headers/accept/index.html @@ -0,0 +1,96 @@ +--- +title: Accept +slug: Web/HTTP/Headers/Accept +tags: + - Anfrage-Header + - HTTP + - HTTP Header +translation_of: Web/HTTP/Headers/Accept +--- +<div>{{HTTPSidebar}}</div> + +<p>Der <strong><code>Accept</code></strong> Anfrage-HTTP-Header drückt aus, welche Inhaltstypen, ausgedrückt als <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME-Typen (MIME-Types)</a>, der anfragende Client unterstützt. Durch <a href="/en-US/docs/Web/HTTP/Content_negotiation">Inhalts-Aushandlung (Content negotiation)</a> wählt der Ziel-Server einen Inhalts-Typen aus, verwendet diesen für den Inhalt und teilt dem Client diesen über den Antwort-HTTP-Header {{HTTPHeader("Content-Type")}} mit. Browser setzen entsprechende Inhalts-Typen automatisch, je nachdem in welchem Kontext die Anfrage stattfindet: Wenn ein CSS-Stylesheet angefragt wird, wird ein anderer Inhalts-Typ verwendet wie wenn ein Bild, Video oder Script angefragt wird.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header-Typ</th> + <td>{{Glossary("Request header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>Nein</td> + </tr> + <tr> + <th scope="row">{{Glossary("CORS-safelisted request header")}}</th> + <td>Ja, mit der zusätzlichen Restriktion dass die Werte keine <em>CORS-unsicheren Anfrage-Header-Bytes</em> enthalten dürfen: <code>"():<>?@[\]{}</code>, Delete, Tab und Kontrollzeichen: 0x00 to 0x19.</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">Accept: <MIME_type>/<MIME_subtype> +Accept: <MIME_type>/* +Accept: */* + +// Mehrere Werte, gewichtet mit der {{glossary("quality values", "quality value")}} Syntax: +Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8 +</pre> + +<h2 id="Direktiven">Direktiven</h2> + +<dl> + <dt><code><MIME_type>/<MIME_subtype></code></dt> + <dd>Ein einfacher, präziser <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME-Type</a> wie <code>text/html</code>.</dd> + <dt><code><MIME_type>/*</code></dt> + <dd>Ein Mime-Type, aber ohne einen Untertypen. <code>image/*</code> z.B. stimmt mit <code>image/png</code>, <code>image/svg</code>, <code>image/gif</code> und allen anderen Bild-Typen überein.</dd> + <dt><code>*/*</code></dt> + <dd>Irgend ein MIME-Type</dd> + <dt><code>;q=</code> (q-Faktor Gewichtung)</dt> + <dd>Jeder verwendete Wert definiert eine Ordnung der Präferenzen durch einen relativen <a href="/en-US/docs/Glossary/Quality_values">Qualitätswert (Quality value)</a>, auch als <strong>Gewichtung</strong> bezeichnet.</dd> +</dl> + +<h2 id="Beispiele">Beispiele</h2> + +<pre>Accept: text/html + +Accept: image/* + +// Standard für allgemeine Anfragen +Accept: */* + +// Standard für Navigations-Anfragen im Browser +Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8 +</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{RFC("7231", "Accept", "5.3.2")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context</td> + </tr> + </tbody> +</table> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.Accept")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>HTTP <a href="/en-US/docs/Web/HTTP/Content_negotiation">Inhalts-Aushandlung (Content negotiation)</a></li> + <li>Header, der das Ergebnis der Aushandlung enthält: {{HTTPHeader("Content-Type")}}</li> + <li>Andere, ähnliche Header: {{HTTPHeader("TE")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Language")}}</li> +</ul> diff --git a/files/de/web/http/headers/age/index.html b/files/de/web/http/headers/age/index.html new file mode 100644 index 0000000000..1f7190fc36 --- /dev/null +++ b/files/de/web/http/headers/age/index.html @@ -0,0 +1,80 @@ +--- +title: Age +slug: Web/HTTP/Headers/Age +tags: + - Caching + - HTTP + - Response + - header +translation_of: Web/HTTP/Headers/Age +--- +<div>{{HTTPSidebar}}</div> + +<p><code><strong>Age</strong></code> nennt die Dauer in Sekunden, die das angefragte Objekt bereits in einem Proxy-Cache zwischengespeichert ist.</p> + +<p>Die Dauer versteht sich üblicherweise als Differenz zwischen der aktuellen Uhrzeit und der Angabe {{HTTPHeader("Date")}}, die den Zeitpunkt anzeigt, an dem das Objekt ursprünglich erstellt wurde.</p> + +<p>Der Wert 0 deutet darauf hin, dass das Objekt gerade durch den Cache vom eigentlichen Server geholt wurde, mithin aktuell ist.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Typ</th> + <td>{{Glossary("Response header", "Antwort")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name", "Verboten")}}</th> + <td>Nein</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">Age: <delta-seconds> +</pre> + +<h2 id="Argument">Argument</h2> + +<dl> + <dt><delta-seconds></dt> + <dd> + <p>Eine positive Ganzzahl, die der Dauer in Sekunden entspricht, die das Objekt von einem Proxy-Cache zum Zeitpunkt des Abrufs bereits zwischengespeichert wurde.</p> + </dd> +</dl> + +<h2 id="Beispiele">Beispiele</h2> + +<pre>Age: 24 +Date: Tue, 15 Nov 1994 08:12:31 GMT +</pre> + +<p>Das Objekt befindet sich seit 24 Sekunden im Cache. Die aktuelle Uhrzeit müsste demnach 8:12:55 sein, 8:12:31 + 24s.</p> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Titel</th> + </tr> + <tr> + <td>{{RFC("7234", "Age", "5.1")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Caching</td> + </tr> + </tbody> +</table> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.Age")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{HTTPHeader("Cache-Control")}}</li> + <li>{{HTTPHeader("Expires")}}</li> +</ul> diff --git a/files/de/web/http/headers/cache-control/index.html b/files/de/web/http/headers/cache-control/index.html new file mode 100644 index 0000000000..6606bcabd7 --- /dev/null +++ b/files/de/web/http/headers/cache-control/index.html @@ -0,0 +1,176 @@ +--- +title: Cache-Control +slug: Web/HTTP/Headers/Cache-Control +tags: + - Allgemeine Header + - HTTP + - HTTP-Header + - Referenz +translation_of: Web/HTTP/Headers/Cache-Control +--- +<div>{{HTTPSidebar}}</div> + +<p>Das allgemeine Header-Feld <strong><code>Cache-Control</code></strong> wird benutzt um Direktiven für Caching-Mechanismen, sowohl für Requests als auch für Responses, zu spezifizieren. Caching-Direktiven sind unidirektional, das bedeutet dass eine Direktive in einem Request nicht impliziert, dass die gleiche Direktive auch in einem Response zurückkommen muss.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("General header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>nein</td> + </tr> + <tr> + <th scope="row">{{Glossary("Simple response header", "CORS-safelisted response-header")}}</th> + <td>ja</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<p>Die Direktiven beachten Groß- und Kleinschreibung und haben optionale Argumente, die sowohl Token-Syntax als auch Zeichenketten mit Anführungszeichen verwenden. Mehrere Direktiven werden kommasepariert.</p> + +<h3 id="Cache_Request_Direktiven">Cache Request Direktiven</h3> + +<p>Standard <code>Cache-Control</code> Direktiven, die vom Client in einem HTTP Request verwendet werden können.</p> + +<pre class="syntaxbox">Cache-Control: max-age=<seconds> +Cache-Control: max-stale[=<seconds>] +Cache-Control: min-fresh=<seconds> +Cache-Control: no-cache +Cache-Control: no-store +Cache-Control: no-transform +Cache-Control: only-if-cached +</pre> + +<h3 id="Cache_Response_Direktiven">Cache Response Direktiven</h3> + +<p>Standard <code>Cache-Control</code> Direktiven, die vom Server in einer HTTP Response verwendet werden können.</p> + +<pre class="syntaxbox">Cache-Control: must-revalidate +Cache-Control: no-cache +Cache-Control: no-store +Cache-Control: no-transform +Cache-Control: public +Cache-Control: private +Cache-Control: proxy-revalidate +Cache-Control: max-age=<seconds> +Cache-Control: s-maxage=<seconds> +</pre> + +<h3 id="Erweiterungs_Cache-Control_Direktiven">Erweiterungs <code>Cache-Control</code> Direktiven</h3> + +<p>Erweiterungs <code>Cache-Control</code> Direktiven sind nicht Teil des Kern HTTP Caching Standard-Dokuments. Prüfen Sie die Unterstützung in der <a href="#Browser_compatibility">Kompatibilitätstabelle</a>.</p> + +<pre class="syntaxbox">Cache-Control: immutable +Cache-Control: stale-while-revalidate=<seconds> +Cache-Control: stale-if-error=<seconds> +</pre> + +<h2 id="Direktiven">Direktiven</h2> + +<h3 id="Cachebarkeit">Cachebarkeit</h3> + +<dl> + <dt><code>public</code></dt> + <dd>Kennzeichen dass die Response von jedem Cache gecached werden dürfen.</dd> + <dt><code>private</code></dt> + <dd>Kennzeichen dass die Response für einen einzigen Benutzer gedacht ist, und nicht von einem geteilten Cache gespeichert werden dürfen. Ein privater Cache darf die Response speichern.</dd> + <dt><code>no-cache</code></dt> + <dd>Zwingt Caches den Request dem Ursprungs-Server zuzustellen, um die Gültigkeit zu validieren, bevor eine gecachte Kopie freigegeben wird.</dd> + <dt><code>only-if-cached</code></dt> + <dd>Gibt an, dass keine neue Daten abgerufen werden sollen. Der Client möchte nur eine gecachte Response erhalten und sollte nicht den Ursprungs-Server kontaktieren, um zu prüfen, ob eine neuere Kopie existiert.</dd> +</dl> + +<h3 id="Cache-Verfall">Cache-Verfall</h3> + +<dl> + <dt><code>max-age=<seconds></code></dt> + <dd>Spezifiziert die maximale Zeitdauer, die eine Ressource als aktuell betrachtet wird. Im Gegensatz zu <code>Expires</code>, ist diese Direktive relativ zum Zeitpunkt des Requests.</dd> + <dt><code>s-maxage=<seconds></code></dt> + <dd>Überschreibt <code>max-age</code> oder den <code>Expires</code> Header, bezieht sich allerdings nur auf geteilte Caches (z.B. Proxyserver) und wird von einem privaten Cachen ignoriert.</dd> + <dt><code>max-stale[=<seconds>]</code></dt> + <dd>Gibt an, dass der Client bereit ist eine Response zu akzeptieren, die ihre Ablaufzeit überschritten hat. Optional können Sie einen Wert in Sekunden angeben, der die Zeit angibt, die eine Response höchstens abgelaufen sein darf.</dd> + <dt><code>min-fresh=<seconds></code></dt> + <dd>Gibt an, dass der Client eine Response erwartet, die mindestens noch für die angegebene Zeit aktuell ist.</dd> + <dt><code>stale-while-revalidate=<seconds></code> {{experimental_inline}}</dt> + <dd>Gibt an, dass der Client bereit ist eine abgelaufene Response zu akzeptieren, während im Hintergrund asynchron auf eine Aktualisierung geprüft wird. Der zweite Wert gibt an für wie lange der Client bereit ist die abgelaufene Response zu akzeptieren.</dd> + <dt><code>stale-if-error=<seconds></code> {{experimental_inline}}</dt> + <dd>...</dd> +</dl> + +<h3 id="Revalidierung_und_Neuladen">Revalidierung und Neuladen</h3> + +<dl> + <dt><code>must-revalidate</code></dt> + <dd>Der Cache muss den Status der abgelaufenen Ressource überprüfen bevor sie verwendet wird. Abgelaufene Ressourcen sollten nicht verwendet werden.</dd> + <dt><code>proxy-revalidate</code></dt> + <dd>Gleich wie <code>must-revalidate</code>, aber bezieht sich nur auf geteilte Caches (z.B. Proxyserver) und wird von einem privaten Cache ignoriert.</dd> + <dt><code>immutable</code></dt> + <dd>Gibt an, dass der Response-Body sich nicht im Laufe der Zeit ändern wird. Falls die Ressource noch nicht abgelaufen ist, ist sie auf dem Server unverändert und daher sollte der Client, selbst wenn der Benutzer die Seite explizit aktualisiert, nicht eine bedingte Revalidierung schicken (z.B. <code>If-None-Match</code> oder <code>If-Modified-Since</code>) , um auf Aktualisierungen zu prüfen Die Ressource . Clients, denen diese Erweiterung unbekannt ist, müssen sie nach der HTTP-Spezifikation ignorieren. In Firefox, <code>immutable</code> wird nur bei <code>https://</code> Transaktionen beachtet. Für mehr Informationen, siehe auch diesen <a href="http://bitsup.blogspot.de/2016/05/cache-control-immutable.html">Blogpost</a>.</dd> +</dl> + +<h3 id="Weitere">Weitere</h3> + +<dl> + <dt><code>no-store</code></dt> + <dd>Der Cache sollte nichts über den Client-Request oder die Server-Response speichern.</dd> + <dt><code>no-transform</code></dt> + <dd>Es sollte keinerlei Transformation oder Konvertierung der Ressoruce durchgeführt werden. Die Content-Encoding, Content-Range, Content-Type Headers dürfen nicht durch einen Proxyserver verändert werden. Ein nicht-transparenter Proxy könnte beispielsweise zwischen Bildformaten konvertieren, um Speicherplatz im Cache zu sparen oder den Datenverkehr bei einer langsamen Verbindung zu reduzieren. Die <code>no-transform</code> Direktive verbietet dies.</dd> +</dl> + +<h2 id="Beispiele">Beispiele</h2> + +<h3 id="Caching_verhindern">Caching verhindern</h3> + +<p>Um Caching abzuschalten können Sie den folgenden Response Header schicken. Beachten Sie ggf. zusätzlich die <code>Expires</code> und <code>Pragma</code> Header.</p> + +<pre class="brush: bash">Cache-Control: no-cache, no-store, must-revalidate +</pre> + +<h3 id="Statische_Assets_cachen">Statische Assets cachen</h3> + +<p>Für die Dateien einer Anwendung, die sich nicht ändern werden, können Sie normalerweise aggressives Caching nutzen, indem Sie den untenstehenden Response-Header senden. Dies schließt statische Dateien ein, die von der Anwendung bereitgestellt werden, wie z.B. Bilder, CSS- und JavaScript-Dateien. Beachten Sie außerdem den <code>Expires</code> Header.</p> + +<pre class="brush: bash">Cache-Control: public, max-age=31536000</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("7234")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Caching</td> + </tr> + <tr> + <td>{{RFC("5861")}}</td> + <td>HTTP Cache-Control Extensions for Stale Content</td> + </tr> + <tr> + <td>{{RFC("8246")}}</td> + <td>HTTP Immutable Responses</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_Kompatibilität">Browser Kompatibilität</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.Cache-Control")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li><a href="/en-US/docs/Web/HTTP/Caching_FAQ">HTTP Caching FAQ</a></li> + <li>{{HTTPHeader("Age")}}</li> + <li>{{HTTPHeader("Expires")}}</li> + <li>{{HTTPHeader("Pragma")}}</li> +</ul> diff --git a/files/de/web/http/headers/connection/index.html b/files/de/web/http/headers/connection/index.html new file mode 100644 index 0000000000..8c4000ac5c --- /dev/null +++ b/files/de/web/http/headers/connection/index.html @@ -0,0 +1,48 @@ +--- +title: Connection +slug: Web/HTTP/Headers/Connection +translation_of: Web/HTTP/Headers/Connection +--- +<div>{{HTTPSidebar}}</div> + +<p>The <strong><code>Connection</code></strong> general header controls whether or not the network connection stays open after the current transaction finishes. If the value sent is <code>keep-alive</code>, the connection is persistent and not closed, allowing for subsequent requests to the same server to be done.</p> + +<div class="blockIndicator warning"> +<p>Connection-specific header fields such as {{HTTPHeader("Connection")}} and {{HTTPHeader("Keep-Alive")}} are <a href="https://tools.ietf.org/html/rfc7540#section-8.1.2.2">prohibited in HTTP/2</a>. Chrome and Firefox ignore them in HTTP/2 responses, but Safari conforms to the HTTP/2 spec requirements and won’t load any response which contains them.</p> +</div> + +<p>Except for the standard hop-by-hop headers ({{HTTPHeader("Keep-Alive")}}, {{HTTPHeader("Transfer-Encoding")}}, {{HTTPHeader("TE")}}, {{HTTPHeader("Connection")}}, {{HTTPHeader("Trailer")}}, {{HTTPHeader("Upgrade")}}, {{HTTPHeader("Proxy-Authorization")}} and {{HTTPHeader("Proxy-Authenticate")}}), any hop-by-hop headers used by the message must be listed in the <code>Connection</code> header, so that the first proxy knows it has to consume them and not forward them further. Standard hop-by-hop headers can be listed too (it is often the case of {{HTTPHeader("Keep-Alive")}}, but this is not mandatory).</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("General header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>yes</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox notranslate">Connection: keep-alive +Connection: close +</pre> + +<h2 id="Directives">Directives</h2> + +<dl> + <dt><code>close</code></dt> + <dd>Indicates that either the client or the server would like to close the connection. This is the default on HTTP/1.0 requests.</dd> + <dt>any comma-separated list of HTTP headers [Usually <code>keep-alive</code> only]</dt> + <dd>Indicates that the client would like to keep the connection open. Having a persistent connection is the default on HTTP/1.1 requests. The list of headers are the name of the header to be removed by the first non-transparent proxy or cache in-between: these headers define the connection between the emitter and the first entity, not the destination node.</dd> +</dl> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.Connection")}}</p> diff --git a/files/de/web/http/headers/cookie/index.html b/files/de/web/http/headers/cookie/index.html new file mode 100644 index 0000000000..71552da494 --- /dev/null +++ b/files/de/web/http/headers/cookie/index.html @@ -0,0 +1,72 @@ +--- +title: Cookie +slug: Web/HTTP/Headers/Cookie +tags: + - Cookies + - HTTP + - Reference + - header + - request +translation_of: Web/HTTP/Headers/Cookie +--- +<div>{{HTTPSidebar}}</div> + +<p>Der <strong><code>Cookie</code></strong> HTTP Request Header enthält gespeicherte <a href="/en-US/docs/Web/HTTP/Cookies">HTTP Cookies</a> welche zuvor vom Server mit dem {{HTTPHeader("Set-Cookie")}} Header gesendet wurden.</p> + +<p>Der <code>Cookie</code> Header ist optional und kann weggelassen werden falls z.B. die Einstellungen für Privatsphäre im Browser keine Cookies zulassen.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header Typ</th> + <td>{{Glossary("Request Header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary( "Forbidden header name" , "Verbotener Header-Name")}}</th> + <td>Ja</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">Cookie: <cookie-list> +Cookie: name=value +Cookie: name=value; name2=value2; name3=value3</pre> + +<dl> + <dt><cookie-list></dt> + <dd>Eine Liste von Name/Wert-Paaren von folgender Form <code><cookie-name>=<cookie-value></code>. Mehrere Einträge in der Liste werden durch ein Semikolon gefolgt von einem Leerzeichen getrennt (<code>'; '</code>).</dd> +</dl> + +<h2 id="Beispiele">Beispiele</h2> + +<pre>Cookie: PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikationen</th> + <th scope="col">Titel</th> + </tr> + <tr> + <td>{{RFC("6265", "Cookie", "5.4")}}</td> + <td>HTTP State Management Mechanism</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_Kompatibilität">Browser Kompatibilität</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.Cookie")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{HTTPHeader("Set-Cookie")}}</li> + <li>{{domxref("Document.cookie")}}</li> +</ul> diff --git a/files/de/web/http/headers/dnt/index.html b/files/de/web/http/headers/dnt/index.html new file mode 100644 index 0000000000..861c398c92 --- /dev/null +++ b/files/de/web/http/headers/dnt/index.html @@ -0,0 +1,88 @@ +--- +title: DNT +slug: Web/HTTP/Headers/DNT +tags: + - DNT + - HTTP + - Refernz + - header +translation_of: Web/HTTP/Headers/DNT +--- +<div>{{HTTPSidebar}}</div> + +<p>Der <strong><code>DNT</code></strong> (<strong>D</strong>o <strong>N</strong>ot <strong>T</strong>rack, engl. "Bitte nicht Tracken") Anfragenheader indiziert, die Tracking-Präferenz des Nutzers. Er lässt den Nutzer indizieren, ob dieser lieber Privatsphäre als personalisierten Kontent hätte.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header-Typ</th> + <td>{{Glossary("Request header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>Ja</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">DNT: 0 +DNT: 1 +</pre> + +<h2 id="Directives">Directives</h2> + +<dl> + <dt>0</dt> + <dd>Der Nutzer erlaubt das Tracking auf der Zielseite.</dd> + <dt>1</dt> + <dd>Der Nutze möchte auf der Zielseite lieber nicht getrackt werden.</dd> +</dl> + +<h2 id="Examples">Examples</h2> + +<h3 id="Die_DNT-Präferenz_per_JavaScript_auslesen">Die DNT-Präferenz per JavaScript auslesen</h3> + +<p>Die DNT-Präferenz des Nutzers kann auch per JavaScript, dank dem {{domxref("Navigator.doNotTrack")}} Wert, ausgelesen werden:</p> + +<pre class="brush: js">navigator.doNotTrack; // "0" oder "1"</pre> + +<h2 id="Specifikationen">Specifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('Tracking','#dnt-header-field', 'DNT Header Field for HTTP Requests')}}</td> + <td>{{Spec2("Tracking")}}</td> + <td>Erstmalige Definition.</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.DNT")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{domxref("Navigator.doNotTrack")}}</li> + <li>{{HTTPHeader("Tk")}} header</li> + <li><a href="https://en.wikipedia.org/wiki/Do_Not_Track">Do Not Track on Wikipedia</a></li> + <li><a href="https://www.eff.org/deeplinks/2011/02/what-does-track-do-not-track-mean">What Does the "Track" in "Do Not Track" Mean? – EFF</a></li> + <li><a href="http://donottrack.us/">donottrack.us</a></li> + <li>DNT Browsereinstellungen: + <ul> + <li><a href="https://www.mozilla.org/en-US/firefox/dnt/">Firefox</a></li> + <li><a href="https://support.google.com/chrome/answer/2790761">Chrome</a></li> + </ul> + </li> +</ul> diff --git a/files/de/web/http/headers/expect-ct/index.html b/files/de/web/http/headers/expect-ct/index.html new file mode 100644 index 0000000000..15ec892562 --- /dev/null +++ b/files/de/web/http/headers/expect-ct/index.html @@ -0,0 +1,113 @@ +--- +title: Expect-CT +slug: Web/HTTP/Headers/Expect-CT +tags: + - HTTP + - Reference + - Referenz + - Security + - Sicherheit + - Verschlüsselung + - header +translation_of: Web/HTTP/Headers/Expect-CT +--- +<p>{{HTTPSidebar}}</p> + +<p><span class="seoSummary">Der <code>Expect-CT</code> HTTP Header erlaubt es Webseiten, die Anforderungen der <a href="/en-US/docs/Web/Security/Certificate_Transparency">Certificate Transparency</a> (kurz: CT) zu aktivieren und/oder zu erzwingen, um so der (unbemerkten) Verwendung falsch ausgestellter Zertifikate vorzubeugen.</span></p> + +<p>CT-Anforderungen können erfüllt werden über einen der nachstehenden Mechanismen:</p> + +<ul> + <li>X.509v3 certificate extension: signierte SCTs (SCT=<em>signed certificate timestamp)</em> werden direkt in das Zertifikat einbettet</li> + <li>Eine TLS-Erweiterung des Typs <code>signed_certificate_timestamp</code> wird während des handshakes gesendet</li> + <li>OCSP stapling (über die <code>status_request</code> TLS-Erweiterung) und das Bereitstellen einer <code>SignedCertificateTimestampList</code> mit einem oder mehreren SCTs</li> +</ul> + +<div class="note"> +<p>Wenn eine Webseite die Verwendung des <code>Expect-CT</code> Headers aktiviert, fordert sie den Browser darüber auf, jedes im Zusammenhang mit der Webseite verwendete Zertifikat in <strong><a href="https://www.certificate-transparency.org/known-logs">öffentlichen CT Protokollen</a> </strong>nachzuschlagen.</p> +</div> + +<div class="note"> +<p>Browsers <strong>ignorieren</strong> den <code>Expect-CT</code> Header bei HTTP-Verbindungen; der Header hat nur bei HTTPS-Verbindungen einen Effekt.</p> +</div> + +<div class="note"> +<p><code>Expect-CT</code> wird im Juni 2021 voraussichtlich obsolet werden. Seit Mai 2018 ist es erforderlich, dass neue ausgestellte Zertifikate standardmäßig SCTs unterstützen. Ältere Zertifikate, vor März 2018 ausgestellt, können eine Gültigkeitsdauer von 39 Monaten haben, wodurch sie alle im Juni 2021 ablaufen.</p> +</div> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("Response header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>yes</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre>Expect-CT: report-uri="<uri>", + enforce, + max-age=<age></pre> + +<h2 id="Direktiven"> Direktiven</h2> + +<dl> + <dt><code>max-age</code></dt> + <dd> + <p>Die Anzahl der Sekunden nach dem Empfang des <code>Expect-CT</code>-Header-Feldes, während der der User-Agent den Host der empfangenen Nachricht als bekannten <code>Expect-CT</code> Host betrachten sollte.</p> + + <p>Falls ein Cache einen Wert enthält der größer ist, als dieser abbilden kann oder seine nachfolgenden Berechnungen überlaufen, dann verwendet der Cache automatisch den für ihn größtmöglichen positiven Ganzzahlwert (integer) bzw. 2,147,483,648 (2<sup>31</sup>).</p> + </dd> + <dt><code>report-uri="<uri>"</code> {{optional_inline}}</dt> + <dd> + <p>Die URI wohin der Browser <code>Expect-CT</code> Fehler melden soll.</p> + In Kombination mit der <code>enforce</code> Direktive wird die Konfiguration als sogenannte "enforce-and-report" (erzwinge und melde) gewertet, wodurch dem user agent signalisiert wird, dass sowohl die Einhaltung der Certificate Transparency Richtlinien erzwungen als auch jede Verletzung berichtet werden soll.</dd> + <dt><code>enforce</code> {{optional_inline}}</dt> + <dd> + <p>Verlangt vom user agent, dass die Einhaltung der Certificate Transparency Richtlinien erzwungen werden soll (anstatt diese nur zu berichten). Gleichzeitig verweigert der user agent zukünftige Verbindungen, die gegen die Certificate Transparency Richtlinien verstoßen.</p> + + <p>In Kombination mit den Direktiven <code>enforce</code> und <code>report-uri</code> wird die Konfiguration als sogenannte "enforce-and-report" (erzwinge und melde) gewertet, wodurch dem user agent signalisiert wird, dass sowohl die Einhaltung der Certificate Transparency Richtlinien erzwungen als auch jede Verletzung berichtet werden soll.</p> + </dd> +</dl> + +<h2 id="Beispiel">Beispiel</h2> + +<p>Dieses Beispiel legt fest, dass die Certificate Transparency für den Zeitraum von 24 Stunden erzwungen werden soll und jede Verletzung in dem Zusammenhang wird gemeldet an die angegebene URL unter <code>foo.example</code>.</p> + +<pre>Expect-CT: max-age=86400, enforce, report-uri="https://foo.example/report"</pre> + +<h2 id="Hinweise">Hinweise</h2> + +<p>Root CAs, die manuell als vertrauenswürdig festgelegt werden, übersteuern und verhindern <code>Expect-CT</code> Berichte/Durchsetzung.</p> + +<p>Browser merken sich eine <code>Expect-CT</code> Richtlinie nicht, außer eine Webseite hat bewiesen, dass sie Zertifikate bereitstellt, die den Certificate Transparency Anforderungen genügen. Browser implementieren ihre eigenen Modelle darüber, welche CT-Protokolle diese für die Bewertung der Vertrauenswürdigkeit heranziehen.</p> + +<p>Google Chrome beispielsweise erzwingt eine <code>Expect-CT</code> Richtlinie nur für einen Zeitraum von 10 Wochen nach dem Build Datum.</p> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="https://tools.ietf.org/html/draft-ietf-httpbis-expect-ct-08">Internet Draft</a></td> + <td>Expect-CT Erweiterung für HTTP</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_Unterstützung">Browser Unterstützung</h2> + +<div class="hidden">Diese Kompatibilitätstabelle auf dieser Seite wird aus strukturierten Daten erstellt. Wenn du an diesen Daten mitwirken möchtest, besuche bitte die URL <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> und sende uns einen Pull Request.</div> + +<p>{{Compat("http.headers.Expect-CT")}}</p> diff --git a/files/de/web/http/headers/expires/index.html b/files/de/web/http/headers/expires/index.html new file mode 100644 index 0000000000..994fb342c9 --- /dev/null +++ b/files/de/web/http/headers/expires/index.html @@ -0,0 +1,75 @@ +--- +title: Expires +slug: Web/HTTP/Headers/Expires +translation_of: Web/HTTP/Headers/Expires +--- +<div>{{HTTPSidebar}}</div> + +<p>Der <code><strong>Expires</strong></code> header enthält das Datum/Zeit nach dem die Response als abgelaufen angesehen wird.</p> + +<p>Invalide Datumsangaben, wie ein Date=0, stellen ein Datum in der Vergangenheit dar, dementsprechend ist die Resource bereits abgelaufen.</p> + +<p>Falls ein {{HTTPHeader("Cache-Control")}} header mit der "max-age" oder "s-maxage" Direktive in der Response gesetzt ist, wird der <code>Expires</code> Header ignoriert.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("Response header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>nein</td> + </tr> + <tr> + <th scope="row">{{Glossary("Simple response header", "CORS-safelisted response-header")}}</th> + <td>Ja</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">Expires: <http-date> +</pre> + +<h2 id="Direktiven">Direktiven</h2> + +<dl> + <dt><http-date></dt> + <dd> + <p>Ein HTTP-date timestamp.</p> + </dd> +</dl> + +<h2 id="Beispiel">Beispiel</h2> + +<pre>Expires: Wed, 21 Oct 2015 07:28:00 GMT</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Titel</th> + </tr> + <tr> + <td>{{RFC("7234", "Expires", "5.3")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Caching</td> + </tr> + </tbody> +</table> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<p class="hidden">Die Kompabilitätstabelle wird aus Strukturierten Datensätzen generiert. Falls Sie zum Datenbestand beitragen wolllen, finden Sie ihn auf <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> und können uns einen Pullrequest stellen</p> + +<p>{{Compat("http.headers.Expires")}}</p> + +<h2 id="See_also">See also</h2> + +<ul> + <li>{{HTTPHeader("Cache-Control")}}</li> + <li>{{HTTPHeader("Age")}}</li> +</ul> diff --git a/files/de/web/http/headers/index.html b/files/de/web/http/headers/index.html new file mode 100644 index 0000000000..2f2c145e6b --- /dev/null +++ b/files/de/web/http/headers/index.html @@ -0,0 +1,441 @@ +--- +title: HTTP Header +slug: Web/HTTP/Headers +translation_of: Web/HTTP/Headers +--- +<div>{{HTTPSidebar}}</div> + +<p>HTTP Header (Kopfzeilen) erlauben es dem Client und Server zusätzliche Informationen an eine Anfrage oder eine Antwort zu übergeben. Ein HTTP Header besteht aus seinem Namen (Groß-/Kleinschreibung unwichtig), gefolgt von einem Doppelpunkt '<code>:</code>' und dem Wert (ohne Zeilenumbrüche). Führender Leerraum vor dem Wert wird ignoriert.</p> + +<p>Benutzerdefinierte, proprietäre Header können mit einem 'X-' Präfix hinzugefügt werden, diese Konvention wurde jedoch im Juni 2012 missbilligt, da es Unannehmlichkeiten verursachte, als nicht standardisierte Felder in {{rfc(6648)}} standardisiert wurden; andere sind im <a href="https://www.iana.org/assignments/message-headers/perm-headers.html">IANA Register</a> aufgeführt, dessen ursprünglicher Inhalt in {{rfc(4229)}} definiert wurde. Die IANA pflegt auch ein <a href="https://www.iana.org/assignments/message-headers/prov-headers.html">Register mit Vorschlägen für neue HTTP Header</a>.</p> + +<p>Header können gemäß ihres Kontexts gruppiert werden:</p> + +<ul> + <li>{{Glossary("General header")}}: Header die sowohl für Anfragen als auch für Antworten zutreffen, jedoch keinen Bezug zu den Daten haben, die eventuell im Body übertragen werden.</li> + <li>{{Glossary("Request header")}}: Header die weitere Informationen über die angeforderte Ressource oder den Client selbst enthalten.</li> + <li>{{Glossary("Response header")}}: Header mit weiteren Informationen zur Antwort, wie etwa ihres Orts oder den Server selbst (Name und Version etc.)</li> + <li>{{Glossary("Entity header")}}: Header die weitere Informationen über den Body der Entität enthalten, wie etwa der Inhaltslänge oder ihren MIME-Type.</li> +</ul> + +<p>Header können auch danach gruppiert werden, wie Proxys sie verarbeiten:</p> + +<dl> + <dt>End-to-end Header</dt> + <dd>Diese Header müssen an den endgültigen Empfänger der Nachricht übermittelt werden, d. h. den Server für eine Anfrage oder den Client für eine Antwort. Zwischen-Proxys müssen unmodifizierte End-to-end-Header erneut übertragen und zwischenspeichern.</dd> + <dt>Hop-by-hop Header</dt> + <dd>Diese Header sind nur für eine einzelne Verbindung auf Transportebene von Bedeutung und dürfen nicht von Proxys erneut übertragen oder zwischengespeichert werden. Solche Header sind: {{httpheader("Connection")}}, {{httpheader("Keep-Alive")}}, {{httpheader("ProxyAuthenticate")}}, {{httpheader("Proxy-Authorization")}}, {{httpheader("TE")}}, {{httpheader("Trailer")}}, {{httpheader("Transfer-Encoding")}} und {{httpheader("Upgrade")}}. Beachten Sie, dass nur Hop-by-hop Header mit dem allgemeinen Header {{httpheader("Connection")}} festgelegt werden können.</dd> +</dl> + +<p>In der folgenden Liste werden die HTTP Header nach ihrer Verwendungskategorie zusammengefasst. Eine alphabetische Liste finden Sie in der Navigation auf der linken Seite.</p> + +<h2 id="Authentifizierung">Authentifizierung</h2> + +<dl> + <dt>{{HTTPHeader("WWW-Authenticate")}}</dt> + <dd>Definiert die Authentifizierungsmethode, die verwendet werden soll, um Zugriff auf eine Ressource zu erhalten.</dd> + <dt>{{HTTPHeader("Authorization")}}</dt> + <dd>Enthält die Anmeldeinformationen zum Authentifizieren eines Benutzer-Agenten an einem Server.</dd> + <dt>{{HTTPHeader("Proxy-Authenticate")}}</dt> + <dd>Definiert die Authentifizierungsmethode, die verwendet werden soll, um Zugriff auf eine Ressource hinter einem Proxyserver zu erhalten.</dd> + <dt>{{HTTPHeader("Proxy-Authorization")}}</dt> + <dd>Enthält die Anmeldeinformationen zum Authentifizieren eines Benutzer-Agenten an einem Proxyserver.</dd> +</dl> + +<h2 id="Caching">Caching</h2> + +<dl> + <dt>{{HTTPHeader("Age")}}</dt> + <dd>Die Zeit in Sekunden, die sich das Objekt in einem Proxy-Cache befunden hat.</dd> + <dt>{{HTTPHeader("Cache-Control")}}</dt> + <dd>Gibt Anweisungen für Cache-Mechanismen in Anfragen und Antworten an.</dd> + <dt>{{HTTPHeader("Clear-Site-Data")}}</dt> + <dd>Löscht Browsing-Daten (z. B. Cookies, Storage, Cache), die der anfragenden Website zugeordnet sind.</dd> + <dt>{{HTTPHeader("Expires")}}</dt> + <dd>Das Datum und die Uhrzeit, nach der die Antwort als veraltet gilt.</dd> + <dt>{{HTTPHeader("Pragma")}}</dt> + <dd>Implementierungsspezifischer Header, der entlang der Anfrage-Antwort-Kette verschiedene Auswirkungen haben kann. Wird für die Abwärtskompatibilität mit HTTP/1.0 Caches verwendet, bei denen der <code>Cache-Control</code>-Header noch nicht vorhanden ist.</dd> + <dt>{{HTTPHeader("Warning")}}</dt> + <dd>Ein allgemeines Warnfeld, das Informationen zu möglichen Problemen enthält.</dd> +</dl> + +<h2 id="Client_Hints">Client Hints</h2> + +<p>HTTP Client Hints befinden sich noch in der Entwicklung. Dokumentation hierzu befindet sich auf der <a href="https://httpwg.org/http-extensions/client-hints.html">Webseite der HTTP Working Group</a>.</p> + +<dl> + <dt>{{HTTPHeader("Accept-CH")}} {{experimental_inline}}</dt> + <dd>Server können Unterstützung für Clienthinweise unter Verwendung des Headerfelds Accept-CH oder eines entsprechenden HTML {{htmlelement("meta")}} Element mit dem Attribut http-equiv attribute (<a href="https://httpwg.org/http-extensions/client-hints.html#HTML5"><cite>[HTML5]</cite></a>) ankündigen.</dd> + <dt>{{HTTPHeader("Accept-CH-Lifetime")}} {{experimental_inline}}</dt> + <dd><span class="tlid-translation translation">Server können den Client auffordern, sich an die vom Client für einen bestimmten Zeitraum unterstützten Client Hints zu erinnern, um die Zustellung von Client hints für nachfolgende Anfragen an den Ursprung des Servers zu ermöglichen</span> (<a href="https://httpwg.org/http-extensions/client-hints.html#RFC6454"><cite>[RFC6454]</cite></a>).</dd> + <dt>{{HTTPHeader("Early-Data")}} {{experimental_inline}}</dt> + <dd><span class="tlid-translation translation">Gibt an, dass die Anforderung in frühen Daten übermittelt wurde.</span></dd> + <dt>{{HTTPHeader("Content-DPR")}} {{experimental_inline}}</dt> + <dd><span class="tlid-translation translation">Das <code>Content-DPR</code> Antwort Header-Feld ist eine Zahl, die das Verhältnis zwischen physischen Pixeln und CSS Pixeln des ausgewählten Bilds als Antwort angibt.</span></dd> + <dt>{{HTTPHeader("DPR")}} {{experimental_inline}}</dt> + <dd>Das <code>DPR</code> Anfrage-Header-Feld ist eine Zahl, die das aktuelle Geräte-Pixelverhältnis (Device Pixel Ratio (DPR)) des Clients angibt. Hierbei handelt es sich um das Verhältnis der physischen Pixel zu CSS Pixeln (Abschnitt 5.2 von <a href="https://httpwg.org/http-extensions/client-hints.html#CSSVAL"><cite>[CSSVAL]</cite></a>) des Layout Viewport (Abschnitt 9.1.1 <cite>von </cite><a href="https://httpwg.org/http-extensions/client-hints.html#CSS2"><cite>[CSS2]</cite></a>) auf dem Gerät.</dd> + <dt>{{HTTPHeader("Save-Data")}} {{experimental_inline}}</dt> + <dd>Das <a class="internalDFN" href="https://wicg.github.io/netinfo/#dom-networkinformation-savedata"><code>SaveData</code></a> [<cite><a class="bibref" href="https://wicg.github.io/netinfo/#bib-client-hints">CLIENT-HINTS</a></cite>] Anfrage-Header-Feld besteht aus einem oder mehreren Token, die die Präferenz des Benutzer-Agenten für eine reduzierte Datennutzung angeben.</dd> + <dt>{{HTTPHeader("Viewport-Width")}} {{experimental_inline}}</dt> + <dd> + <div id="rfc.section.3.3.p.1"> + <p>Das <code>Viewport-Width</code> Anfrage-Header-Feld ist eine Zahl, die die Breite des Layout Viewport in CSS Pixeln angibt. Der gegebene CSS Pixel Wert ist eine Zahl, die auf die kleinste folgende Ganzzahl (d. h. den Höchstwert) gerundet wird.</p> + </div> + + <div id="rfc.section.3.3.p.2"> + <p>Wenn <code>Viewport-Width</code> mehr als einmal in einer Nachricht vorkommt, dann überschreibt der letzte Wert alle vorherigen.</p> + </div> + </dd> + <dt>{{HTTPHeader("Width")}} {{experimental_inline}}</dt> + <dd> + <div id="rfc.section.3.2.p.1"> + <p>Das <code>Width</code> Anfrage-Header-Feld ist eine Zahl, die die gewünschte Ressourcenbreite in physischen Pixeln angibt (d. h. eigentliche Größe eines Bildes). Der gegebene physikalische Pixel Wert ist eine Zahl, die auf die kleinste folgende Ganzzahl (d. h. den Höchstwert) gerundet ist.</p> + + <p>Wenn die gewünschte Ressourcenbreite zum Zeitpunkt der Anforderung nicht bekannt ist oder die Ressource keine Anzeigebreite aufweist, kann das Header-Feld <code>Width</code> weggelassen werden. Wenn <code>Width</code> mehr als einmal in einer Nachricht vorkommt, dann überschreibt der letzte Wert alle vorherigen.</p> + </div> + </dd> +</dl> + +<dl> + <dt>{{HTTPHeader("Accept-CH")}} {{experimental_inline}}</dt> + <dd>Server können Support für Client Hints bekanntgeben, indem das Accept-CH Header-Feld oder das entsprechende HTML {{htmlelement("meta")}} Element mit http-equiv Attribut benutzt wird (<a href="https://httpwg.org/http-extensions/client-hints.html#HTML5"><cite>[HTML5]</cite></a>).</dd> +</dl> + +<dl> + <dt>{{HTTPHeader("Accept-CH-Lifetime")}} {{experimental_inline}}</dt> + <dd>Servers can ask the client to remember the set of Client Hints that the server supports for a specified period of time, to enable delivery of Client Hints on subsequent requests to the server’s origin (<a href="https://httpwg.org/http-extensions/client-hints.html#RFC6454"><cite>[RFC6454]</cite></a>).</dd> + <dt>{{HTTPHeader("Early-Data")}} {{experimental_inline}}</dt> + <dd>Indicates that the request has been conveyed in early data.</dd> +</dl> + +<h2 id="Bedingungen">Bedingungen</h2> + +<dl> + <dt>{{HTTPHeader("Last-Modified")}}</dt> + <dd>Ein Validator mit dem letzten Änderungsdatum der Ressource, mit welchem mehrere Versionen derselben Ressource miteinander verglichen werden. Es ist weniger genau als {{HTTPHeader("ETag")}}, aber in einigen Umgebungen einfacher zu berechnen. Bedingte Anforderungen, die {{HTTPHeader("If-Modified-Since")}} und {{HTTPHeader("If-Unmodified-Since")}} verwenden, verwenden diesen Wert, um das Verhalten der Anforderung zu ändern.</dd> + <dt>{{HTTPHeader("ETag")}}</dt> + <dd>Ein Validator für eine eindeutige Zeichenfolge, die die Version der Ressource identifiziert. Bedingte Anforderungen, die {{HTTPHeader("If-Match")}} und {{HTTPHeader("If-None-Match")}} verwenden, nutzen diesen Wert um das Verhalten der Anfrage zu verändern.</dd> + <dt>{{HTTPHeader("If-Match")}}</dt> + <dd>Knüpft die Anfrage an eine Bedingung und wendet die Methode nur dann an, wenn die gespeicherte Ressource einem der gegebenen ETags entspricht.</dd> + <dt>{{HTTPHeader("If-None-Match")}}</dt> + <dd>Knüpft die Anfrage an eine Bedingung und wendet die Methode nur dann an, wenn die gespeicherte Ressource keinem der gegebenen ETags entspricht. Dies kann dazu benutzt werden, um Caches zu aktualisieren (für sichere Anfragen) oder um zu verhindern, eine neue Ressource hochzuladen, wenn bereits eine existiert.</dd> + <dt>{{HTTPHeader("If-Modified-Since")}}</dt> + <dd>Knüpft die Anfrage an eine Bedingung und erwartet, dass die Entität nur dann übertragen wird, wenn sie nach einem gegebenem Datum modifiziert wurde. Dies kann dazu benutzt werden, nur dann Daten zu übertragen, wenn der Cache veraltet ist.</dd> + <dt>{{HTTPHeader("If-Unmodified-Since")}}</dt> + <dd>Knüpft die Anfrage an eine Bedingung und erwartet, dass die Entität nur dann übertragen wird, wenn sie nach einem gegebenem Datum nicht modifiziert wurde. Dies kann dazu benutzt werden, um die Stimmigkeit eines neuen Fragments eines bestimmten Bereichs mit vorherigen zu gewährleisten oder ein optimistisches Parallelitätskontrollsystem beim Modifizieren existierender Dokumente zu implementieren.</dd> + <dt>{{HTTPHeader("Vary")}}</dt> + <dd>Legt fest, wie zukünftige Anfrage Header abgeglichen werden sollen, um zu entscheiden, ob eine zwischengespeicherte Antwort verwendet werden kann, anstatt eine neue vom Ursprungsserver anzufordern.</dd> +</dl> + +<h2 id="Verbindungsverwaltung">Verbindungsverwaltung</h2> + +<dl> + <dt>{{HTTPHeader("Connection")}}</dt> + <dd>Steuert, ob die Netzwerkverbindung geöffnet bleiben soll, nachdem die aktuelle Transaktion beendet ist.</dd> + <dt>{{HTTPHeader("Keep-Alive")}}</dt> + <dd>Steuert, wie lange eine dauerhafte Verbindung geöffnet bleiben soll.</dd> +</dl> + +<h2 id="Inhaltsverhandlung"><a href="/en-US/docs/Web/HTTP/Content_negotiation">Inhaltsverhandlung</a></h2> + +<dl> + <dt>{{HTTPHeader("Accept")}}</dt> + <dd>Setzt den Server darüber in Kenntnis, welche Art Daten zurückgesendet werden können (als MIME-Type).</dd> + <dt>{{HTTPHeader("Accept-Charset")}}</dt> + <dd>Setzt den Server darüber in Kenntnis, welchen Zeichensatz der Client versteht.</dd> + <dt>{{HTTPHeader("Accept-Encoding")}}</dt> + <dd>Setzt den Server über den Kodierungs-Algorithmus in Kenntnis, üblicherweise ein Kompressionsalgorithmus, der bei Rücksendung einer Ressource benutzt werden kann.</dd> + <dt>{{HTTPHeader("Accept-Language")}}</dt> + <dd>Setzt den Server über die Sprache in Kenntnis, in welcher er zurücksenden soll. Dies ist ein Hinweis und nicht zwangsweise unter vollständiger Kontrolle des Benutzers: der Server sollte stets darauf achten eine explizite Benutzerauswahl nicht zu überschreiben (etwa die ausgewählte Sprache einer Dropdown-Liste).</dd> +</dl> + +<h2 id="Steuerung">Steuerung</h2> + +<dl> + <dt>{{HTTPHeader("Expect")}}</dt> + <dd>Gibt an, welchen Anforderungen der Server erfüllen muss, um die Anfrage ordnungsgemäß bearbeiten zu können.</dd> + <dt>{{HTTPHeader("Max-Forwards")}}</dt> + <dd>Eine Ganzzahl, welche die maximal erlaubte Anzahl an Weiterleitungen festlegt. Bei jeder Weiterleitung durch ein Gateway oder einen Proxy wird der Wert um 1 reduziert. Erreicht er 0 bevor die Anfrage ihr Ziel erreicht wird diese verworfen.</dd> +</dl> + +<h2 id="Cookies">Cookies</h2> + +<dl> + <dt>{{HTTPHeader("Cookie")}}</dt> + <dd>Enthält gespeicherte <a href="/de/docs/Web/HTTP/Cookies">HTTP Cookies</a>, die zuvor vom Server mit dem Header {{HTTPHeader("Set-Cookie")}} gesendet wurden.</dd> + <dt>{{HTTPHeader("Set-Cookie")}}</dt> + <dd>Sendet Cookies vom Server an den Benutzer-Agenten.</dd> + <dt>{{HTTPHeader("Cookie2")}} {{obsolete_inline}}</dt> + <dd>Enthielt ein HTTP-Cookie, welches zuvor vom Server mit dem Header {{HTTPHeader("Set-Cookie2")}} gesendet wurde, gilt durch die Spezifikation jedoch mittlerweile als veraltet. Benutzen Sie stattdessen {{HTTPHeader("Cookie")}}.</dd> + <dt>{{HTTPHeader("Set-Cookie2")}} {{obsolete_inline}}</dt> + <dd>Sendete Cookies vom Server an den Benutzer-Agenten, gilt durch die Spezifikation jedoch mittlerweile als veraltet. Benutzen Sie stattdessen {{HTTPHeader("Set-Cookie")}}.</dd> +</dl> + +<h2 id="Cross-origin_Resource_Sharing_(CORS)">Cross-origin Resource Sharing (CORS)</h2> + +<p><em>Erfahren Sie <a href="/de/docs/Web/HTTP/CORS">hier</a> mehr zu Cross-origin Resource Sharing (CORS).</em></p> + +<dl> + <dt>{{HTTPHeader("Access-Control-Allow-Origin")}}</dt> + <dd>Gibt an, ob die Antwort geteilt werden kann.</dd> + <dt>{{HTTPHeader("Access-Control-Allow-Credentials")}}</dt> + <dd>Gibt an, ob die Antwort auf die Anfrage verfügbar gemacht werden kann, wenn das Kennzeichen für Anmeldedaten wahr ist.</dd> + <dt>{{HTTPHeader("Access-Control-Allow-Headers")}}</dt> + <dd>Wird als Antwort auf eine Vor-Anfrage verwendet, um anzugeben, welche HTTP-Header bei der tatsächlichen Anfrage verwendet werden können.</dd> + <dt>{{HTTPHeader("Access-Control-Allow-Methods")}}</dt> + <dd>Gibt die Methode(n) an, die beim Zugriff auf die Ressource als Antwort auf eine Vor-Anfrage zulässig sind.</dd> + <dt>{{HTTPHeader("Access-Control-Expose-Headers")}}</dt> + <dd>Gibt an, welche Header als Teil der Antwort verfügbar gemacht werden können, indem ihre Namen aufgelistet werden.</dd> + <dt>{{HTTPHeader("Access-Control-Max-Age")}}</dt> + <dd>Gibt an, wie lange die Ergebnisse einer Vor-Anfrage zwischengespeichert werden können.</dd> + <dt>{{HTTPHeader("Access-Control-Request-Headers")}}</dt> + <dd>Wird verwendet, wenn eine Vor-Anfrage ausgegeben wird, um dem Server mitzuteilen, welche HTTP-Header bei der tatsächlichen Anforderung verwendet werden.</dd> + <dt>{{HTTPHeader("Access-Control-Request-Method")}}</dt> + <dd>Wird bei der Ausgabe einer Vor-Anfrage verwendet, um dem Server mitzuteilen, welche <a href="/de/docs/Web/HTTP/Methods">HTTP-Methode</a> bei der tatsächlichen Anforderung verwendet wird.</dd> + <dt>{{HTTPHeader("Cross-Origin-Resource-Policy")}}</dt> + <dd>Der Header <a href="https://fetch.spec.whatwg.org/#cross-origin-resource-policy-header">Cross-Origin-Resource-Policy</a> verhindert, dass andere Domänen die Ressourcen laden.</dd> +</dl> + +<dl> + <dt>{{HTTPHeader("Origin")}}</dt> + <dd>Gibt an, woher ein Abruf stammt.</dd> + <dt>{{HTTPHeader("Timing-Allow-Origin")}}</dt> + <dd>Gibt die Ursprünge an, die Werte von Attributen anzeigen dürfen, die über Funktionen der <a href="/de/docs/Web/API/Resource_Timing_API">Resource Timing API</a> abgerufen werden, die andernfalls aufgrund von Ursprungsbeschränkungen als Null gemeldet werden.</dd> + <dt>{{HTTPHeader("X-Permitted-Cross-Domain-Policies")}}</dt> + <dd>Gibt an, ob eine domänenübergreifende Richtliniendatei (XML) zulässig ist. In der Datei kann eine Richtlinie definiert werden, mit der Web-Clients wie Adobe Flash Player oder Adobe Acrobat (z. B. PDF) die Erlaubnis erteilt werden darf, Daten zwischen Domänen zu verarbeiten.</dd> +</dl> + +<h2 id="Do_Not_Track">Do Not Track</h2> + +<dl> + <dt>{{HTTPHeader("DNT")}}</dt> + <dd>Wird verwendet, um die Tracking-Einstellung des Benutzers auszudrücken.</dd> + <dt>{{HTTPHeader("Tk")}}</dt> + <dd>Gibt den Tracking-Status an, der auf die entsprechende Anfrage angewendet wurde.</dd> +</dl> + +<h2 id="Downloads">Downloads</h2> + +<dl> + <dt>{{HTTPHeader("Content-Disposition")}}</dt> + <dd>Gibt an, ob die übertragene Ressource inline angezeigt (Standardverhalten, wenn der Header nicht vorhanden ist) oder als Download behandelt werden und der Browser einen "Speichern unter" Dialog anzeigen soll.</dd> +</dl> + +<h2 id="Informationen_zum_Nachrichtenrumpf_(Body)">Informationen zum Nachrichtenrumpf (Body)</h2> + +<dl> + <dt>{{HTTPHeader("Content-Length")}}</dt> + <dd>Gibt die Größe des Body der Entität in Oktetten (Anzahl an 8-Bit Bytes) an, die an den Empfänger gesendet werden.</dd> + <dt>{{HTTPHeader("Content-Type")}}</dt> + <dd>Gibt den Inhaltstyp der Ressource an.</dd> + <dt>{{HTTPHeader("Content-Encoding")}}</dt> + <dd>Gibt den Kompressionsalgortihmus an.</dd> + <dt>{{HTTPHeader("Content-Language")}}</dt> + <dd>Beschreibt die Sprache(n), die für das Publikum bestimmt ist/sind, damit der Benutzer nach seiner bevorzugten Sprache unterscheiden kann.</dd> + <dt>{{HTTPHeader("Content-Location")}}</dt> + <dd>Gibt einen alternativen Ort für die zurückgegebenen Daten an.</dd> +</dl> + +<h2 id="Proxys">Proxys</h2> + +<dl> + <dt>{{HTTPHeader("Forwarded")}}</dt> + <dd>Enthält Informationen Client zugewandten Seite von Proxyservern, die geändert oder verloren geht, wenn ein Proxy am Pfad der Anfrage beteiligt ist.</dd> + <dt>{{HTTPHeader("X-Forwarded-For")}} {{non-standard_inline}}</dt> + <dd>Gibt die ursprünglichen IP-Adressen eines Clients an, der über einen HTTP-Proxy oder einen Load Balancer eine Verbindung zu einem Webserver herstellt.</dd> + <dt>{{HTTPHeader("X-Forwarded-Host")}} {{non-standard_inline}}</dt> + <dd>Gibt den ursprünglichen Host an, den ein Client angefragt hat, um eine Verbindung zu Ihrem Proxy oder Load Balancer herzustellen.</dd> + <dt>{{HTTPHeader("X-Forwarded-Proto")}} {{non-standard_inline}}</dt> + <dd>Gibt das Protokoll (HTTP oder HTTPS) an, mit dem ein Client eine Verbindung zu Ihrem Proxy oder Load Balancer herstellt.</dd> + <dt>{{HTTPHeader("Via")}}</dt> + <dd>Wird durch sowohl durch Vorwärts- als auch Rückwärtsproxys hinzugefügt und kann in den Anfrage Headern als auch den Antwort Headern erscheinen und gibt die Proxys an, über die die Nachricht versendet wurde.</dd> +</dl> + +<h2 id="Umleitungen">Umleitungen</h2> + +<dl> + <dt>{{HTTPHeader("Location")}}</dt> + <dd>Gibt die URL an, zu der eine Seite umgeleitet werden soll.</dd> +</dl> + +<h2 id="Anfragenkontext">Anfragenkontext</h2> + +<dl> + <dt>{{HTTPHeader("From")}}</dt> + <dd>Enthält eine Internet-E-Mail-Adresse für einen Benutzer, der den anfordernden Benutzer-Agenten steuert.</dd> + <dt>{{HTTPHeader("Host")}}</dt> + <dd>Gibt den Domänennamen des Servers (für virtuelles Hosting) und (optional) die TCP-Portnummer an, auf welcher der Server lauscht.</dd> + <dt>{{HTTPHeader("Referer")}}</dt> + <dd>Die Adresse der vorherigen Webseite, von der aus ein Link auf die aktuell angeforderte Seite folgt.</dd> + <dt>{{HTTPHeader("Referrer-Policy")}}</dt> + <dd>Gibt an, welche Referrer-Informationen im Header {{HTTPHeader("Referer")}} mit den gesendeten Anfragen enthalten sein sollen.</dd> + <dt>{{HTTPHeader("User-Agent")}}</dt> + <dd>Enthält einen charakteristischen String, mit der die Netzwerkprotokollpartner den Anwendungstyp, das Betriebssystem, den Softwareanbieter oder die Softwareversion des anfragenden Benutzer-Agenten bestimmen können. Siehe auch die <a href="/de/docs/Web/HTTP/Headers/User-Agent/Firefox">Benutzer-Agenten-String Referenz von Firefox</a>.</dd> +</dl> + +<h2 id="Antwortkontext">Antwortkontext</h2> + +<dl> + <dt>{{HTTPHeader("Allow")}}</dt> + <dd>Listet die von einer Ressource unterstützten HTTP-Anfragemethoden auf.</dd> + <dt>{{HTTPHeader("Server")}}</dt> + <dd>Enthält Informationen zu der Software, die der Ursprungsserver zur Bearbeitung der Anfrage verwendet.</dd> +</dl> + +<h2 id="Bereichsanfragen">Bereichsanfragen</h2> + +<dl> + <dt>{{HTTPHeader("Accept-Ranges")}}</dt> + <dd>Gibt an, ob der Server Bereichsanfragen unterstützt und wenn ja, in welcher Einheit der Bereich ausgedrückt werden kann.</dd> + <dt>{{HTTPHeader("Range")}}</dt> + <dd>Gibt den Teil eines Dokuments an, den der Server zurückgeben soll.</dd> + <dt>{{HTTPHeader("If-Range")}}</dt> + <dd>Erzeugt eine bedingte Bereichanfrage, die nur erfüllt wird, wenn das gegebene ETag oder Datum mit der entfernten Ressource übereinstimmt. Kann verwendet werden, um das Herunterladen von zwei Bereichen von einer inkompatiblen Version der Ressource zu verhindern.</dd> + <dt>{{HTTPHeader("Content-Range")}}</dt> + <dd>Gibt an, welchem Bereich des Body der gesendete Inhalt angehört.</dd> +</dl> + +<h2 id="Sicherheit">Sicherheit</h2> + +<dl> + <dt>{{HTTPHeader("Content-Security-Policy")}} ({{Glossary("CSP")}})</dt> + <dd>Steuert Ressourcen, die der Benutzer-Agent für eine bestimmte Seite laden darf.</dd> + <dt>{{HTTPHeader("Content-Security-Policy-Report-Only")}}</dt> + <dd>Webentwickler können mit Richtlinien experimentieren, indem sie ihre Auswirkungen überwachen, jedoch nicht durchsetzen. Berichte über Verstöße bestehen aus {{Glossary("JSON")}}-Dokumenten, die über eine HTTP <code>POST</code> Anfrage an die angegebene URI gesendet werden.</dd> + <dt>{{HTTPHeader("Expect-CT")}}</dt> + <dd>Erlaubt es Websites, sich für die Berichterstellung und/oder Durchsetzung der Zertifikattransparenzanforderungen zu entscheiden. Dadurch wird verhindert, dass falsch ausgestellte Zertifikate für eine Seite unbemerkt bleiben. Wenn eine Seite den Expect-CT-Header aktiviert, fordert sie den Browser auf zu überprüfen, ob alle Zertifikate für diese Seite in öffentlichen CT-Protokollen angezeigt werden.</dd> + <dt>{{HTTPHeader("Feature-Policy")}}</dt> + <dd>Stellt einen Mechanismus bereit, um die Verwendung von Browserfunktionen in seinem eigenen Frame und in eingebetteten iFrames zuzulassen und zu verbieten.</dd> +</dl> + +<dl> + <dt>{{HTTPHeader("Public-Key-Pins")}} ({{Glossary("HPKP")}})</dt> + <dd>Ordnet einen bestimmten kryptografischen öffentlichen Schlüssel einem bestimmten Webserver zu, um das Risiko von {{Glossary("MITM", "Man-in-the-Middle")}}-Angriffen mit gefälschten Zertifikaten zu verringern.</dd> + <dt>{{HTTPHeader("Public-Key-Pins-Report-Only")}}</dt> + <dd>Sendet Berichte an die im Header angegebene URI zur Protokollierung, während Clients weiterhin eine Verbindung zum Server herstellen können, selbst wenn gegen das Pinning verstoßen wurde.</dd> +</dl> + +<dl> + <dt>{{HTTPHeader("Strict-Transport-Security")}} ({{Glossary("HSTS")}})</dt> + <dd>Erzwingt die Kommunikation über HTTPS statt HTTP.</dd> + <dt>{{HTTPHeader("Upgrade-Insecure-Requests")}}</dt> + <dd>Sendet ein Signal an den Server, dass der Client eine verschlüsselte und authentifizierte Antwort bevorzugt und dass die Anweisung {{CSP("upgrade-insecure-request")}} erfolgreich verarbeitet werden kann.</dd> +</dl> + +<dl> + <dt>{{HTTPHeader("X-Content-Type-Options")}}</dt> + <dd>Deaktiviert das Erraten des MIME-Types durch den Browser und zwingt ihn den MIME-Type im Header {{HTTPHeader("Content-Type")}} zu benutzen.</dd> +</dl> + +<dl> + <dt>{{HTTPHeader("X-Download-Options")}}</dt> + <dd>Gibt an, dass der Browser (Internet Explorer) nicht die Option zum "Öffnen" einer aus einer Anwendung heruntergeladenen Datei anzeigen sollte, um Phishing-Angriffe zu verhindern, da die Datei sonst im Kontext der Anwendung ausgeführt werden kann.</dd> +</dl> + +<dl> + <dt>{{HTTPHeader("X-Frame-Options")}} (XFO)</dt> + <dd>Gibt an, ob es einem Browser erlaubt wird eine Seite in einem {{HTMLElement("frame")}}, {{HTMLElement("iframe")}}, {{HTMLElement("embed")}} oder {{HTMLElement("object")}} Element darzustellen.</dd> + <dt>{{HTTPHeader("X-Powered-By")}}</dt> + <dd>Kann durch Hosting-Umgebungen oder andere Frameworks festgelegt werden und enthält Informationen zu diesen, ohne der Anwendung oder ihren Besuchern einen Nutzen zu bieten. Heben Sie diesen Header auf, um zu verhindern mögliche Schwachstellen preiszugeben.</dd> + <dt>{{HTTPHeader("X-XSS-Protection")}}</dt> + <dd>Aktiviert Seiten-übergreifende Skript-Filterung.</dd> +</dl> + +<h2 id="Vom_Server_gesendete_Ereignisse">Vom Server gesendete Ereignisse</h2> + +<dl> + <dt>{{HTTPHeader("Last-Event-ID")}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("NEL")}} {{experimental_inline}}</dt> + <dd>Definiert einen Mechanismus, mit dem Entwickler eine Netzwerkfehler-Berichterstattungs-Richtlinie deklarieren können.</dd> + <dt>{{HTTPHeader("Ping-From")}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("Ping-To")}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("Report-To")}}</dt> + <dd>Kann verwendet werden, um einen Server-Endpunkt anzugeben, an den der Browser Warnmeldungen und Fehlerberichte senden soll.</dd> +</dl> + +<h2 id="Übertragungskodierung">Übertragungskodierung</h2> + +<dl> + <dt>{{HTTPHeader("Transfer-Encoding")}}</dt> + <dd>Gibt die Form der Kodierung an, die zum sicheren Übertragen der Entität an den Benutzer verwendet wird.</dd> + <dt>{{HTTPHeader("TE")}}</dt> + <dd>Gibt die Übertragungskodierungen an, die der Benutzer-Agent akzeptiert.</dd> + <dt>{{HTTPHeader("Trailer")}}</dt> + <dd>Ermöglicht dem Absender, am Ende einer Nachricht in mehreren Teilen zusätzliche Felder einzufügen.</dd> +</dl> + +<h2 id="WebSockets">WebSockets</h2> + +<dl> + <dt>{{HTTPHeader("Sec-WebSocket-Key")}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("Sec-WebSocket-Extensions")}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("Sec-WebSocket-Accept")}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("Sec-WebSocket-Protocol")}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("Sec-WebSocket-Version")}}</dt> + <dd>...</dd> +</dl> + +<h2 id="Sonstiges">Sonstiges</h2> + +<dl> + <dt>{{HTTPHeader("Accept-Push-Policy")}} {{experimental_inline}}</dt> + <dd>Ein Client kann die gewünschte Push-Richtlinie für eine Anfrage ausdrücken, indem er ein Header-Feld <code><a href="https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00#section-3.1">Accept-Push-Policy</a></code> mitsendet.</dd> + <dt>{{HTTPHeader("Accept-Signature")}} {{experimental_inline}}</dt> + <dd>Ein Client kann das Header-Feld <code><a href="https://wicg.github.io/webpackage/draft-yasskin-http-origin-signed-responses.html#rfc.section.3.7">Accept-Signature</a></code> senden, um anzugeben dass er beabsichtigt von verfügbaren Signaturen gebrauch zu machen und anzuzeigen, welche Art von Signaturen er unterstützt.</dd> + <dt>{{HTTPHeader("Alt-Svc")}}</dt> + <dd>Kann verwendet werden, um alternative Wege aufzulisten, um diesen Dienst zu erreichen.</dd> + <dt>{{HTTPHeader("Date")}}</dt> + <dd>Enthält das Datum und die Uhrzeit, zu dem die Nachricht erstellt wurde.</dd> + <dt>{{HTTPHeader("Large-Allocation")}}</dt> + <dd>Setzt den Browser darüber in Kenntnis, dass die zu ladende Seite eine große Zuordnung durchführen möchte.</dd> + <dt>{{HTTPHeader("Link")}}</dt> + <dd>Das <code><a href="https://tools.ietf.org/html/rfc5988#section-5">Link</a></code> Entitäten-Header-Feld bietet eine Möglichkeit, eine oder mehrere Links in HTTP-Headern zu serialisieren. Es entspricht semantisch dem HTML Element {{HTMLElement("link")}}.</dd> + <dt>{{HTTPHeader("Push-Policy")}} {{experimental_inline}}</dt> + <dd>Eine <code><a href="https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00#section-3.2">Push-Policy</a></code> definiert das Serververhalten bezüglich Push bei der Verarbeitung einer Anfrage.</dd> +</dl> + +<dl> + <dt>{{HTTPHeader("Retry-After")}}</dt> + <dd>Gibt an, wie lange der Benutzer-Agent warten soll, bevor eine Folgeanfrage gesendet wird.</dd> + <dt>{{HTTPHeader("Signature")}} {{experimental_inline}}</dt> + <dd>Das <code><a href="https://wicg.github.io/webpackage/draft-yasskin-http-origin-signed-responses.html#rfc.section.3.1">Signature</a></code> Header-Feld enthält eine Liste von Signaturen für einen Austausch, von welchem jeder Informationen darüber enthält, wie die Autorität dieser Signatur ermittelt und aktualisiert werden kann.</dd> + <dt>{{HTTPHeader("Signed-Headers")}} {{experimental_inline}}</dt> + <dd>Das <code><a href="https://wicg.github.io/webpackage/draft-yasskin-http-origin-signed-responses.html#rfc.section.5.1.2">Signed-Headers</a></code> Header-Feld identifiziert eine geordnete Liste von Antwort-Header-Feldern, die in eine Signatur aufgenommen werden sollen.</dd> + <dt>{{HTTPHeader("Server-Timing")}}</dt> + <dd>Kommuniziert eine oder mehrere Metriken und Beschreibungen für den gegebenen Anfrage-Antwort-Zyklus.</dd> + <dt>{{HTTPHeader("SourceMap")}}</dt> + <dd>Knüpft generierten Code an eine <a href="/de/docs/Tools/Debugger/How_to/Use_a_source_map">Source Map</a>.</dd> + <dt>{{HTTPHeader("Upgrade")}}</dt> + <dd>Das relevante RFC-Dokument für das <a href="https://tools.ietf.org/html/rfc7230#section-6.7"><code>Upgrade</code> Header-Feld ist RFC 7230, Abschnitt 6.7</a>. Der Standard legt Regeln für das Upgrade oder das Wechseln zu einem anderen Protokoll auf der aktuellen Client-, Server- und Transportprotokollverbindung fest. Mit diesem Header-Standard kann ein Client beispielsweise von HTTP 1.1 zu HTTP 2.0 wechseln, vorausgesetzt der Server beschließt, das <code>Upgrade</code> Header-Feld zu bestätigen und zu implementieren. Keine der Parteien muss die Bedingungen akzeptieren, die im <code>Upgrade</code> Header-Feld angegeben sind. Es kann in Client- und Server-Headern verwendet werden. Wenn das <code>Upgrade</code> Header-Feld angegeben ist, MUSS der Absender auch das <code>Connection</code> Header-Feld mit der angegebenen <code>Upgrade</code> Option senden. Einzelheiten zum <code>Connection</code> Header-Feld finden Sie in <a href="https://tools.ietf.org/html/rfc7230#section-6.1">Abschnitt 6.1</a> des zuvor genannten RFC.</dd> + <dt>{{HTTPHeader("X-DNS-Prefetch-Control")}}</dt> + <dd>Steuert das DNS-Prefetching, eine Funktion, mit der Browser proaktiv eine Namensauflösung sowohl für Links durchführen, denen der Benutzer folgen könnte, als auch URLs für Elemente, auf die im Dokument verwiesen wird, einschließlich Bilder, CSS, JavaScript, usw.</dd> + <dt>{{HTTPHeader("X-Firefox-Spdy")}} {{deprecated_inline}} {{non-standard_inline}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("X-Pingback")}} {{non-standard_inline}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("X-Requested-With")}}</dt> + <dd>...</dd> + <dt>{{HTTPHeader("X-Robots-Tag")}} {{non-standard_inline}}</dt> + <dd>Wird verwendet, um anzugeben, wie eine Webseite in öffentlichen Suchmaschinenergebnissen indiziert werden soll. Die Kopfzeile entspricht effektiv <code><meta name="robots" content="..."></code>.</dd> + <dt>{{HTTPHeader("X-UA-Compatible")}} {{non-standard_inline}}</dt> + <dd>Wird von Internet Explorer verwendet, um zu signalisieren, welcher Dokumentmodus verwendet werden soll.</dd> +</dl> + +<h2 id="Mitwirken">Mitwirken</h2> + +<p>Sie können helfen, indem Sie <a href="/de/docs/MDN/Contribute/Howto/Document_an_HTTP_header">neue Einträge schreiben</a> oder die vorhandenen verbessern.</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{interwiki("wikipedia", "Liste der HTTP-Headerfelder")}} auf Wikipedia</li> + <li><a href="https://www.iana.org/assignments/message-headers/perm-headers.html">IANA Register</a> (Englisch)</li> + <li><a href="https://httpwg.org/specs/">HTTP Arbeitsgruppe</a> (Englisch)</li> +</ul> diff --git a/files/de/web/http/headers/referer/index.html b/files/de/web/http/headers/referer/index.html new file mode 100644 index 0000000000..d61fa0c2f4 --- /dev/null +++ b/files/de/web/http/headers/referer/index.html @@ -0,0 +1,87 @@ +--- +title: Referer +slug: Web/HTTP/Headers/Referer +tags: + - Anfrage + - HTTP + - Referenz + - header + - referer + - referrer +translation_of: Web/HTTP/Headers/Referer +--- +<div>{{HTTPSidebar}}</div> + +<p>Der <code><strong>Referer</strong></code> Anfrage-Header beinhaltet die Adresse von der vorher besuchten Webseite, welche einen Link zur aktuell angefragten Seite beinhaltet. Der <code><strong>Referer</strong></code>-Header erlaubt es Server zu sehen, von wo die Personen sie Besuchen und diese Daten zum Beispiel zur Analyse, Logging oder optimiertes Caching zu benutzen.</p> + +<div class="warning"> +<p><strong>Wichtig</strong>: Auch wenn dieser Header nützlich ist, kann es ungewollte Konsequenzen für die Sicherheit und Privatsphäre beinhalten. Siehe <a href="https://developer.mozilla.org/en-US/docs/Web/Security/Referer_header:_privacy_and_security_concerns">Referer header: privacy and security concerns</a> für mehr Informationen und Milderungen</p> +</div> + +<p>Merke, dass das Wort referer falsch geschrieben ist. Das richtige Wort ist "referrer". Siehe {{interwiki("wikipedia", "Referrer", "HTTP referer on Wikipedia")}} für mehr Details.</p> + +<p>Ein <code>Referer</code>-Header wird von einem Browser nicht gesendet, wenn:</p> + +<ul> + <li>Der verweisende Ressource ist eine lokale "file" oder "data" URI ist.</li> + <li>Eine unsichere HTTP-Anfrage benutzt wird und die verweisende Seite in einem sicheren Protokoll (HTTPS) empfangen wurde.</li> +</ul> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header-Typ</th> + <td>{{Glossary("Request header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>yes</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">Referer: <url> +</pre> + +<h2 id="Richtlinien">Richtlinien</h2> + +<dl> + <dt><url></dt> + <dd>Eine absolute oder partielle Adresse von der vorherigen Webseite, von welcher ein Link zur aktuell angefragen Seite gefolgt wurde. URL-Fragmente (z.B.: "#section") und userinfo (z.B.: "username:password" in "https://username:password@example.com/foo/bar/") sind nicht enthalten.</dd> +</dl> + +<h2 id="Beispiele">Beispiele</h2> + +<pre>Referer: https://developer.mozilla.org/en-US/docs/Web/JavaScript</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Titel</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{RFC("7231", "Referer", "5.5.2")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="Browser-Kompatibilität">Browser-Kompatibilität</h2> + +<p class="hidden">Die Kompatibilitätstabelle auf dieser Seite ist Generiert von struktuierten Daten. Wenn Du zu den Daten beitragen möchtest, schauen sie hier: <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> und sende uns ein Pull-request.</p> + +<p>{{Compat("http.headers.Referer")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{interwiki("wikipedia", "HTTP_referer", "HTTP referer on Wikipedia")}}</li> + <li>{{HTTPHeader("Referrer-Policy")}}</li> +</ul> diff --git a/files/de/web/http/headers/server/index.html b/files/de/web/http/headers/server/index.html new file mode 100644 index 0000000000..fbd162d742 --- /dev/null +++ b/files/de/web/http/headers/server/index.html @@ -0,0 +1,69 @@ +--- +title: Server +slug: Web/HTTP/Headers/Server +tags: + - HTTP + - header +translation_of: Web/HTTP/Headers/Server +--- +<div>{{HTTPSidebar}}</div> + +<p>Der <code><strong>Server</strong></code>-Header beinhaltet Informationen über die Software, die von dem Ursprungsserver verwendet wurde, um die Anfrage zu behandeln.</p> + +<p>Zu lange und detailierte Server-Werte sollten vermieden werden, da sie möglicherweise interne Implementations-Details herausgeben, welche es (ein wenig) einfacher für Angreifer machen, bekannte Sicherheitslücken zu finden und auszunutzen.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header-Typ</th> + <td>{{Glossary("Response header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>Nein</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">Server: <produkt> +</pre> + +<h2 id="Directives">Directives</h2> + +<dl> + <dt><produkt></dt> + <dd>Der Name der Software oder das (Unter-)Produkt, welches mit Anfragen umgeht.</dd> +</dl> + +<h2 id="Beispiele">Beispiele</h2> + +<pre>Server: Apache/2.4.1 (Unix)</pre> + +<h2 id="Specifikationen">Specifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("7231", "Server", "7.4.2")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="Browser-Unterstützung">Browser-Unterstützung</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.Server")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{HTTPHeader("Allow")}}</li> +</ul> diff --git a/files/de/web/http/headers/set-cookie/index.html b/files/de/web/http/headers/set-cookie/index.html new file mode 100644 index 0000000000..917e705959 --- /dev/null +++ b/files/de/web/http/headers/set-cookie/index.html @@ -0,0 +1,225 @@ +--- +title: Set-Cookie +slug: Web/HTTP/Headers/Set-Cookie +tags: + - Cookies + - HTTP + - NeedsTranslation + - Reference + - Response + - TopicStub + - header + - samesite +translation_of: Web/HTTP/Headers/Set-Cookie +--- +<div>{{HTTPSidebar}}</div> + +<p><span class="seoSummary">The <strong><code>Set-Cookie</code></strong> HTTP response header is used to send a cookie from the server to the user agent, so the user agent can send it back to the server later. To send multiple cookies, multiple <strong><code>Set-Cookie</code></strong></span> headers should be sent in the same response.</p> + +<div class="blockIndicator warning"> +<p>Browsers block frontend JavaScript code from accessing the <code>Set Cookie</code> header, as required by the Fetch spec, which defines <code>Set-Cookie</code> as a <a href="https://fetch.spec.whatwg.org/#forbidden-response-header-name">forbidden response-header name</a> that <a href="https://fetch.spec.whatwg.org/#ref-for-forbidden-response-header-name%E2%91%A0">must be filtered out</a> from any response exposed to frontend code.</p> +</div> + +<p>For more information, see the guide on <a href="/en-US/docs/Web/HTTP/Cookies">Using HTTP cookies</a>.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("Response header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>no</td> + </tr> + <tr> + <th scope="row"><a href="https://fetch.spec.whatwg.org/#forbidden-response-header-name">Forbidden response-header name</a></th> + <td>yes</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox notranslate">Set-Cookie: <cookie-name>=<cookie-value> +Set-Cookie: <cookie-name>=<cookie-value>; Expires=<date> +Set-Cookie: <cookie-name>=<cookie-value>; Max-Age=<non-zero-digit> +Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value> +Set-Cookie: <cookie-name>=<cookie-value>; Path=<path-value> +Set-Cookie: <cookie-name>=<cookie-value>; Secure +Set-Cookie: <cookie-name>=<cookie-value>; HttpOnly + +Set-Cookie: <cookie-name>=<cookie-value>; SameSite=Strict +Set-Cookie: <cookie-name>=<cookie-value>; SameSite=Lax +Set-Cookie: <cookie-name>=<cookie-value>; SameSite=None; Secure + +// Multiple attributes are also possible, for example: +Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>; Secure; HttpOnly +</pre> + +<h2 id="Attributes">Attributes</h2> + +<dl> + <dt><code><cookie-name>=<cookie-value></code></dt> + <dd>A cookie begins with a name-value pair: + <ul> + <li>A <code><cookie-name></code> can be any US-ASCII characters, except control characters, spaces, or tabs. It also must not contain a separator character like the following: <code>( ) < > @ , ; : \ " / [ ] ? = { }</code>.</li> + <li>A <code><cookie-value></code> can optionally be wrapped in double quotes and include any US-ASCII characters excluding control characters, {{glossary("Whitespace")}}, double quotes, comma, semicolon, and backslash. <strong>Encoding</strong>: Many implementations perform URL encoding on cookie values, however it is not required per the RFC specification. It does help satisfying the requirements about which characters are allowed for <cookie-value> though.</li> + <li><strong><code>__Secure-</code> prefix</strong>: Cookies names starting with<code> __Secure-</code> (dash is part of the prefix) must be set with the <code>secure</code> flag from a secure page (HTTPS).</li> + <li><strong><code>__Host-</code> prefix</strong>: Cookies with names starting with <code>__Host-</code> must be set with the <code>secure</code> flag, must be from a secure page (HTTPS), must not have a domain specified (and therefore aren't sent to subdomains) and the path must be <code>/</code>.</li> + </ul> + </dd> + <dt><code>Expires=<date></code> {{optional_inline}}</dt> + <dd> + <p>The maximum lifetime of the cookie as an HTTP-date timestamp. See {{HTTPHeader("Date")}} for the required formatting.</p> + + <p>If unspecified, the cookie becomes a <strong>session cookie</strong>. A session finishes when the client shuts down, and session cookies will be removed.</p> + + <div class="blockIndicator warning"> + <p><strong>Warning:</strong> Many web browsers have a <em>session restore</em> feature that will save all tabs and restore them next time the browser is used. Session cookies will also be restored, as if the browser was never closed.</p> + </div> + + <p>When an Expires date is set, the deadline is relative to the <em>client</em> the cookie is being set on, not the server.</p> + </dd> + <dt><code>Max-Age=<number> </code>{{optional_inline}}</dt> + <dd>Number of seconds until the cookie expires. A zero or negative number will expire the cookie immediately. If both <code>Expires</code> and <code>Max-Age</code> are set, <code>Max-Age</code> has precedence.</dd> + <dt><code>Domain=<domain-value></code> {{optional_inline}}</dt> + <dd>Host to which the cookie will be sent. + <ul> + <li>If omitted, defaults to the host of the current document URL, not including subdomains.</li> + <li>Contrary to earlier specifications, leading dots in domain names (<code>.example.com</code>) are ignored.</li> + <li>Multiple host/domain values are <em>not</em> allowed, but if a domain <em>is</em> specified, then subdomains are always included.</li> + </ul> + </dd> + <dt><code>Path=<path-value></code> {{optional_inline}}</dt> + <dd>A path that must exist in the requested URL, or the browser won't send the <code>Cookie</code> header.</dd> + <dd>The forward slash (<code>/</code>) character is interpreted as a directory separator, and subdirectories will be matched as well: for <code>Path=/docs</code>, <code>/docs</code>, <code>/docs/Web/</code>, and <code>/docs/Web/HTTP</code> will all match.</dd> + <dt id="Secure"><code>Secure</code> {{optional_inline}}</dt> + <dd>Cookie is only sent to the server when a request is made with the <code>https:</code> scheme (except on localhost), and therefore is more resistent to <a href="https://wiki.developer.mozilla.org/en-US/docs/Glossary/MitM">man-in-the-middle</a> attacks. + <p class="note"><strong>Note:</strong> Do not assume that <code>Secure</code> prevents all access to sensitive information in cookies (session keys, login details, etc.). Cookies with this attribute can still be read/modified with access to the client's hard disk, or from JavaScript if the <code>HttpOnly</code> cookie attribute is not set.</p> + + <p class="note"><strong>Note:</strong> Insecure sites (<code>http:</code>) can't set cookies with the <code>Secure</code> attribute (since Chrome 52 and Firefox 52). For Firefox, the <code>https:</code> requirements are ignored when the <code>Secure</code> attribute is set by localhost (since Firefox 75).</p> + </dd> + <dt id="HttpOnly"><code>HttpOnly</code> {{optional_inline}}</dt> + <dd>Forbids JavaScript from accessing the cookie, for example, through the {{domxref("Document.cookie")}} property. Note that a cookie that has been created with HttpOnly will still be sent with JavaScript-initiated requests, e.g. when calling {{domxref("XMLHttpRequest.send()")}} or {{domxref("fetch()")}}. This mitigates attacks against cross-site scripting ({{Glossary("XSS")}}).</dd> + <dt id="SameSite"><code>SameSite=<samesite-value></code> {{optional_inline}}</dt> + <dd>Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks ({{Glossary("CSRF")}}).</dd> + <dd> + <div class="note"> + <p>Standards related to the <a href="/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite">SameSite Cookies</a> recently changed such that:</p> + + <ol> + <li>The cookie-sending behaviour if <code>SameSite</code> is not specified is <code>SameSite=Lax</code>. Previously the default was that cookies were sent for all requests.</li> + <li>Cookies with <code>SameSite=None</code> must now<br> + also specify the <code>Secure</code> attribute (i.e. they require a secure context).</li> + </ol> + + <p>The options below covers the new behaviour. See the <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#Browser_compatibility">Browser compatibility</a> table for information about specific browser implementation (rows: "<code>SameSite</code>: Defaults to <code>Lax</code>" and "<code>SameSite</code>: Secure context required").</p> + </div> + Inline options are: + + <ul> + <li><code>Strict</code>: The browser sends the cookie only for same-site requests (that is, requests originating from the same site that set the cookie). If the request originated from a different URL than the current one, no cookies with the <code>SameSite=Strict</code> attribute are sent.</li> + <li><code>Lax</code>: The cookie is not sent on cross-site requests, such as calls to load images or frames, but is sent when a user is navigating to the origin site from an external site (e.g. if following a link).<br> + This is the default behaviour if the <code>SameSite</code> attribute is not specified.</li> + <li><code>None</code>: The browser sends the cookie with both cross-site and same-site requests. The <code>Secure</code> attribute must also be set when <code>SameSite=None</code>!</li> + </ul> + </dd> +</dl> + +<h2 id="Examples">Examples</h2> + +<h3 id="Session_cookie">Session cookie</h3> + +<p><strong>Session cookies</strong> are removed when the client shuts down. Cookies are session cookies if they don't specify the <code>Expires</code> or <code>Max-Age</code> attributes.</p> + +<pre class="notranslate">Set-Cookie: sessionId=38afes7a8</pre> + +<h3 id="Permanent_cookie">Permanent cookie</h3> + +<p>Instead of expiring when the client is closed, <strong>permanent cookies</strong> expire at a specific date (<code>Expires</code>) or after a specific length of time (<code>Max-Age</code>).</p> + +<pre class="notranslate">Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT +</pre> + +<pre class="notranslate">Set-Cookie: id=a3fWa; Max-Age=2592000</pre> + +<h3 id="Invalid_domains">Invalid domains</h3> + +<p>A cookie for a domain that does not include the server that set it <a href="https://tools.ietf.org/html/rfc6265#section-4.1.2.3">should be rejected by the user agent</a>.</p> + +<p>The following cookie will be rejected if set by a server hosted on <code>originalcompany.com</code>:</p> + +<pre class="notranslate">Set-Cookie: qwerty=219ffwef9w0f; Domain=somecompany.co.uk</pre> + +<p>A cookie for a sub domain of the serving domain will be rejected.</p> + +<p>The following cookie will be rejected if set by a server hosted on <code>example.com</code>:</p> + +<pre class="notranslate">Set-Cookie: sessionId=e8bb43229de9; Domain=foo.example.com</pre> + +<h3 id="Cookie_prefixes">Cookie prefixes</h3> + +<p>Cookies names prefixed with <code>__Secure-</code> or <code>__Host-</code> can be used only if they are set with the <code>secure</code> attribute from a secure (HTTPS) origin.</p> + +<p>In addition, cookies with the <code>__Host-</code> prefix must have a path of <code>/</code> (meaning any path at the host) and must not have a <code>Domain</code> attribute.</p> + +<div class="blockIndicator warning"> +<p>For clients that don't implement cookie prefixes, you cannot count on these additional assurances, and prefixed cookies will always be accepted.</p> +</div> + +<pre class="notranslate">// Both accepted when from a secure origin (HTTPS) +Set-Cookie: __Secure-ID=123; Secure; Domain=example.com +Set-Cookie: __Host-ID=123; Secure; Path=/ + +// Rejected due to missing Secure attribute +Set-Cookie: __Secure-id=1 + +// Rejected due to the missing Path=/ attribute +Set-Cookie: __Host-id=1; Secure + +// Rejected due to setting a Domain +Set-Cookie: __Host-id=1; Secure; Path=/; Domain=example.com +</pre> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{RFC("6265", "Set-Cookie", "4.1")}}</td> + <td>HTTP State Management Mechanism</td> + </tr> + <tr> + <td><a href="https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-05">draft-ietf-httpbis-rfc6265bis-05</a></td> + <td>Cookie Prefixes, Same-Site Cookies, and Strict Secure Cookies</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.Set-Cookie", 5)}}</p> + +<h2 id="Compatibility_notes">Compatibility notes</h2> + +<ul> + <li>Starting with Chrome 52 and Firefox 52, insecure sites (<code>http:</code>) can't set cookies with the <code>Secure</code> attribute anymore.</li> +</ul> + +<h2 id="See_also">See also</h2> + +<ul> + <li><a href="/en-US/docs/Web/HTTP/Cookies">HTTP cookies</a></li> + <li>{{HTTPHeader("Cookie")}}</li> + <li>{{domxref("Document.cookie")}}</li> + <li><a href="/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite">SameSite cookies</a></li> +</ul> diff --git a/files/de/web/http/headers/set-cookie/samesite/index.html b/files/de/web/http/headers/set-cookie/samesite/index.html new file mode 100644 index 0000000000..51879c388d --- /dev/null +++ b/files/de/web/http/headers/set-cookie/samesite/index.html @@ -0,0 +1,135 @@ +--- +title: SameSite cookies +slug: Web/HTTP/Headers/Set-Cookie/SameSite +tags: + - HATTP + - IT +translation_of: Web/HTTP/Headers/Set-Cookie/SameSite +--- +<div>{{HTTPSidebar}}</div> + +<p><span class="seoSummary">The <strong><code>SameSite</code></strong> attribute of the {{HTTPHeader("Set-Cookie")}} HTTP response header allows you to declare if your cookie should be restricted to a <a href="/en-US/docs/Web/HTTP/Cookies#Third-party_cookies">first-party</a> or same-site context. </span></p> + +<div class="blockIndicator note"> +<p>Standards related to the Cookie <code>SameSite</code> attribute recently changed such that:</p> + +<ul> + <li>The cookie-sending behaviour if <code>SameSite</code> is not specified is <code>SameSite=Lax</code>. Previously the default was that cookies were sent for all requests.</li> + <li>Cookies with <code>SameSite=None</code> must now also specify the <code>Secure</code> attribute (they require a secure context/HTTPS).</li> +</ul> + +<p>This article documents the new standard. See <a href="#Browser_compatibility">Browser Compatibility</a> below for information about specific versions where the behaviour changed.</p> +</div> + +<h2 id="Values">Values</h2> + +<p>The <code>SameSite</code> attribute accepts three values:</p> + +<h3 id="Lax"><code>Lax</code></h3> + +<p>Cookies are not sent on normal cross-site subrequests (for example to load images or frames into a third party site), but are sent when a user is <em>navigating to</em> the origin site (i.e. when following a link).</p> + +<p>This is the default cookie value if <code>SameSite</code> has not been explicitly specified in recent browser versions (see the "SameSite: Defaults to Lax" feature in the Browser Compatibility).</p> + +<div class="blockIndicator note"> +<p><code>Lax</code> replaced <code>None</code> as the default value in order to ensure that users have reasonably robust defense against some classes of cross-site request forgery ({{Glossary("CSRF")}}) attacks.</p> +</div> + +<h3 id="Strict"><code>Strict</code></h3> + +<p>Cookies will only be sent in a first-party context and not be sent along with requests initiated by third party websites.</p> + +<h3 id="None"><code>None</code></h3> + +<p>Cookies will be sent in all contexts, i.e in responses to both first-party and cross-origin requests.If <code>SameSite=None</code> is set, the cookie <a href="/en-US/docs/Web/HTTP/Headers/Set-Cookie#Secure"><code>Secure</code></a> attribute must also be set (or the cookie will be blocked).</p> + +<h2 id="Fixing_common_warnings">Fixing common warnings</h2> + +<h3 id="SameSiteNone_requires_Secure"><code>SameSite=None</code> requires <code>Secure</code></h3> + +<p>Warnings like the ones below might appear in your console:</p> + +<pre class="syntaxbox notranslate">Cookie “<em>myCookie</em>” rejected because it has the “SameSite=None” attribute but is missing the “secure” attribute. + +This Set-Cookie was blocked because it had the "SameSite=None" attribute but did not have the "Secure" attribute, which is required in order to use "SameSite=None".</pre> + +<p>The warning appears because any cookie that requests <code>SameSite=None</code> but is not marked <code>Secure</code> will be rejected.</p> + +<pre class="example-bad notranslate">Set-Cookie: flavor=choco; SameSite=None</pre> + +<p>To fix this, you will have to add the <code>Secure</code> attribute to your <code>SameSite=None</code> cookies.</p> + +<pre class="example-good notranslate">Set-Cookie: flavor=choco; SameSite=None; <strong>Secure</strong></pre> + +<p>A <a href="#Secure"><code>Secure</code></a> cookie is only sent to the server with an encrypted request over the HTTPS protocol. Note that insecure sites (<code>http:</code>) can't set cookies with the <code>Secure</code> directive.</p> + +<div class="blockIndicator note"> +<p>On older browser versions you might simply get a warning that the cookie will be blocked in future. For example:</p> + +<pre class="syntaxbox notranslate">Cookie “<em>myCookie</em>” will be soon rejected because it has the “SameSite” attribute set to “None” or an invalid value, without the “secure” attribute. To know more about the “SameSite” attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite +</pre> +</div> + +<h3 id="Cookies_without_SameSite_default_to_SameSiteLax">Cookies without <code>SameSite</code> default to <code>SameSite=Lax</code></h3> + +<p>Recent versions of modern browsers provide a more secure default for <code>SameSite</code> to your cookies and so the following message might appear in your console:</p> + +<pre class="syntaxbox notranslate">Cookie “<em>myCookie</em>” has “SameSite” policy set to “Lax” because it is missing a “SameSite” attribute, and “SameSite=Lax” is the default value for this attribute. +</pre> + +<p>The warning appears because the <code>SameSite</code> policy for a cookie was not explicitly specified:</p> + +<pre class="example-bad notranslate">Set-Cookie: flavor=choco</pre> + +<p>You should explicitly communicate the intended <code>SameSite</code> policy for your cookie (rather than relying on browsers to apply <code>SameSite=Lax</code> automatically). This will also improve the experience across browsers as not all of them default to <code>Lax</code> yet.</p> + +<pre class="example-good notranslate">Set-Cookie: flavor=choco; <strong>SameSite=Lax</strong></pre> + +<h2 id="Example"><strong>Example:</strong></h2> + +<pre class="notranslate">RewriteEngine on +RewriteBase "/" +RewriteCond "%{HTTP_HOST}" "^example\.org$" [NC] +RewriteRule "^(.*)" "https://www.example.org/index.html" [R=301,L,QSA] +RewriteRule "^(.*)\.ht$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule;01;https://www.example.org;30/;SameSite=None;Secure] +RewriteRule "^(.*)\.htm$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule;02;https://www.example.org;30/;SameSite=None;Secure] +RewriteRule "^(.*)\.html$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule;03;https://www.example.org;30/;SameSite=None;Secure] +[...] +RewriteRule "^admin/(.*)\.html$" "admin/index.php?nav=$1 [NC,L,QSA,CO=RewriteRule;09;https://www.example.org:30/;SameSite=Strict;Secure] +</pre> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{RFC("6265", "Set-Cookie", "4.1")}}</td> + <td>HTTP State Management Mechanism</td> + </tr> + <tr> + <td><a href="https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-05">draft-ietf-httpbis-rfc6265bis-05</a></td> + <td>Cookie Prefixes, Same-Site Cookies, and Strict Secure Cookies</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.Set-Cookie", 5)}}</p> + +<h2 id="See_also">See also</h2> + +<ul> + <li><a href="/en-US/docs/Web/HTTP/Cookies">HTTP cookies</a></li> + <li>{{HTTPHeader("Cookie")}}</li> + <li>{{domxref("Document.cookie")}}</li> + <li><a href="https://web.dev/samesite-cookies-explained/">Samesite cookies explained</a> (web.dev blog)</li> +</ul> diff --git a/files/de/web/http/headers/tk/index.html b/files/de/web/http/headers/tk/index.html new file mode 100644 index 0000000000..f2bd1a3e24 --- /dev/null +++ b/files/de/web/http/headers/tk/index.html @@ -0,0 +1,94 @@ +--- +title: Tk +slug: Web/HTTP/Headers/Tk +tags: + - Antwort + - DNT + - HTTP + - Referenz + - header + - tracking +translation_of: Web/HTTP/Headers/Tk +--- +<div>{{HTTPSidebar}}</div> + +<p>Der <strong><code>Tk</code></strong> Antwort-Header beeinhaltet den Tracking-Status der auf die Anfrage zutraf.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header-Typ</th> + <td>{{Glossary("Response header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>Nein</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">Tk: ! (Arbeit im Gange) +Tk: ? (Dynamisch) +Tk: G (Gateway oder mehrere Partien) +Tk: N (Kein Tracking) +Tk: T (Tracking) +Tk: C (Tracking mit Einwilligung) +Tk: P (Mögliche Einwilligung) +Tk: D (DNT wird ignoriert) +Tk: U (Aktuallisiert) +</pre> + +<h3 id="Directives">Directives</h3> + +<dl> + <dt>!</dt> + <dd>Arbeit im Gange. Der Ursprungsserver testet gerade seine Kommunikation des Tracking-Status.</dd> + <dt>?</dt> + <dd>Dynamisch. Der Ursprungsserver braucht mehr Information, um den Tracking-Status bestimmen zu können.</dd> + <dt>G</dt> + <dd>Gateway oder mehrere Partien. Der Server handelt als Gateway zu einem Austausch, der mehrere Partien beinhaltet.</dd> + <dt>N</dt> + <dd>Kein Tracking.</dd> + <dt>T</dt> + <dd>Tracking.</dd> + <dt>C</dt> + <dd>Tracking mit Einwilligung. Der Ursprungsserver glaubt, er hat zuvur eine Einwilligung bekommen, diesen Nutzer, User-Agent oder dieses Gerät zu tracken.</dd> + <dt>P</dt> + <dd>Mögliche Einwilligung. Der Ursprungsserver weiß nicht, in Echtzeit, ob er eine zuvorige Einwilligung für das tracken dieses Nutzers, User-Agents oder Geräts, bekommen hat. Verspricht, aber keine <code>DNT:1</code>-Daten zu teilen, bis eine Einwilligung festgestellt wurde. Des weiteren, verspricht er alle <code>DNT:1</code>-Daten in den folgenen 24 Stunden zu löschen oder zu de-identifizieren.</dd> + <dt>D</dt> + <dd>DNT wird ignoriert. Der Ursprungsserver ist nicht fähig, eine Tracking-Präferenz des User-Agents zu respektieren, oder will einfach nicht.</dd> + <dt>U</dt> + <dd>Aktuallisiert. Die Anfrage hat in eine mögliche Änderung des Tracking-Statueses des Nutzers, User-Agents oder Geräts resultiert.</dd> +</dl> + +<h2 id="Beispiele">Beispiele</h2> + +<p>Ein <code>Tk</code>-Header für eine Resource, die von sich selbst sagt, nicht zu tracken, würde so aussehen:</p> + +<pre>Tk: N</pre> + +<p>Spezifikationen</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('Tracking','#Tk-header-defn', 'Tk header field')}}</td> + <td>{{Spec2("Tracking")}}</td> + <td>Erstmalige Definition.</td> + </tr> + </tbody> +</table> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{HTTPHeader("DNT")}} header</li> + <li>{{domxref("Navigator.doNotTrack")}}</li> +</ul> diff --git a/files/de/web/http/headers/user-agent/index.html b/files/de/web/http/headers/user-agent/index.html new file mode 100644 index 0000000000..ceb6e8e533 --- /dev/null +++ b/files/de/web/http/headers/user-agent/index.html @@ -0,0 +1,139 @@ +--- +title: User-Agent +slug: Web/HTTP/Headers/User-Agent +tags: + - HTTP + - NeedsTranslation + - Reference + - TopicStub + - header +translation_of: Web/HTTP/Headers/User-Agent +--- +<div>{{HTTPSidebar}}</div> + +<p>The <strong>User-Agent</strong> request header contains a characteristic string that allows the network protocol peers to identify the application type, operating system, software vendor or software version of the requesting software user agent.</p> + +<div class="note"> +<p>Please read <a href="/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent">Browser detection using the user agent</a> and why serving different Web pages or services to different browsers is usually a bad idea.</p> +</div> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("Request header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>no</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">User-Agent: <product> / <product-version> <comment> + +Common format for web browsers: + +User-Agent: Mozilla/<version> (<system-information>) <platform> (<platform-details>) <extensions> +</pre> + +<h2 id="Directives">Directives</h2> + +<dl> + <dt><product></dt> + <dd>A product identifier</dd> + <dt><product-version></dt> + <dd>A version number of the product.</dd> + <dt><comment></dt> + <dd>Zero or more comments containing sub product information, for example.</dd> +</dl> + +<h2 id="Firefox_UA_string">Firefox UA string</h2> + +<p>For more details on Firefox and Gecko based user agent strings, see the <a href="/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox">Firefox user agent string reference</a>. The UA string of Firefox itself is broken down into four components:</p> + +<p><strong>Mozilla/5.0 (<em>platform</em>; rv:<em>geckoversion</em>) Gecko/<em>geckotrail</em> Firefox/<em>firefoxversion</em></strong></p> + +<ul> + <li><em><strong>Mozilla/5.0</strong></em> is the general token that says the browser is Mozilla compatible, and is common to almost every browser today.</li> + <li><strong><em>platform</em></strong> describes the native platform the browser is running on (e.g. Windows, Mac, Linux or Android), and whether or not it's a mobile phone. Firefox OS phones simply say "Mobile"; the web is the platform. Note that <strong><em>platform</em></strong> can consist of multiple "; "-separated tokens. See below for further details and examples.</li> + <li><strong>rv:<em>geckoversion</em></strong> indicates the release version of Gecko (such as <em>"17.0"</em>). In recent browsers, <strong><em>geckoversion</em></strong> is the same as <strong><em>firefoxversion</em></strong>.</li> + <li><strong><em>Gecko/geckotrail</em></strong> indicates that the browser is based on Gecko.</li> + <li>On Desktop, <em><strong>geckotrail</strong></em> is the fixed string "20100101"</li> + <li><em><strong>Firefox/firefoxversion</strong></em> indicates the browser is Firefox, and provides the version (such as "<em>17.0"</em>).</li> +</ul> + +<h3 id="Examples">Examples</h3> + +<pre>Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X <em>x.y</em>; rv:42.0) Gecko/20100101 Firefox/42.0 +</pre> + +<h2 id="Chrome_UA_string">Chrome UA string</h2> + +<p>The Chrome (or Chromium/blink-based engines) user agent string is similar to the Firefox format. For compatibility, it adds strings like "KHTML, like Gecko" and "Safari".</p> + +<h3 id="Examples_2">Examples</h3> + +<pre>Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36</pre> + +<h2 id="Opera_UA_string">Opera UA string</h2> + +<p>The Opera browser is also based on the blink engine, which is why it almost looks the same, but adds "OPR/<version>".</p> + +<h3 id="Examples_3">Examples</h3> + +<pre>Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 OPR/38.0.2220.41</pre> + +<h2 id="Safari_UA_string">Safari UA string</h2> + +<p>In this example, the user agent string is mobile safari version. It contains the word "Mobile".</p> + +<h3 id="Examples_4">Examples</h3> + +<pre>Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1</pre> + +<h2 id="Internet_Explorer_UA_string">Internet Explorer UA string</h2> + +<h3 id="Examples_5">Examples</h3> + +<pre>Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)</pre> + +<h2 id="Crawler_and_bot_UA_strings">Crawler and bot UA strings</h2> + +<h3 id="Examples_6">Examples</h3> + +<pre>Googlebot/2.1 (+http://www.google.com/bot.html)</pre> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Title</th> + </tr> + <tr> + <td>{{RFC("7231", "User-Agent", "5.5.3")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("http.headers.User-Agent")}}</p> + +<h2 id="See_also">See also</h2> + +<ul> + <li><a href="https://hacks.mozilla.org/2013/09/user-agent-detection-history-and-checklist/">User-Agent detection, history and checklist</a></li> + <li><a href="/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox">Firefox user agent string reference</a></li> + <li> + <p><a href="/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent">Browser detection using the user agent</a></p> + </li> +</ul> diff --git a/files/de/web/http/headers/x-content-type-options/index.html b/files/de/web/http/headers/x-content-type-options/index.html new file mode 100644 index 0000000000..3f4220a14d --- /dev/null +++ b/files/de/web/http/headers/x-content-type-options/index.html @@ -0,0 +1,93 @@ +--- +title: X-Content-Type-Options +slug: Web/HTTP/Headers/X-Content-Type-Options +translation_of: Web/HTTP/Headers/X-Content-Type-Options +--- +<div>{{HTTPSidebar}}</div> + +<p>Der Header <code><strong>X-Content-Type-Option</strong></code> in HTTP-Antworten wird vom Server dazu benutzt, um anzuzeigen, dass <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME-Typen</a>, so wie sie in den {{HTTPHeader("Content-Type")}}-Headern angegeben sind, nicht geändert und somit befolgt werden sollen. Damit lässt sich <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#MIME_sniffing">MIME type sniffing</a> ausschließen. Oder anders gesagt: es zeigt, dass die Web-Admins wissen, was sie tun.</p> + +<p>Der Header wurde von Microsoft mit dem IE 8 eingeführt, damit Web-Admins die automatische Inhaltserkennung ausschalten können. Die automatische Erkennung konnte dazu führen, dass Inhalt fälschlich als ausführbarer MIME-Typ erkannt wird. Inzwischen haben andere Browser diese Option übernommen, auch wenn deren Erkennungsalgorithmen von vorneherein vorsichtiger waren.</p> + +<p>Bei Sicherheits-Audits wird im Allgemeinen erwartet, dass dieser Header gesetzt ist.</p> + +<p class="blockIndicator note">Anmerkung: <code>nosniff</code> gilt nur für "<code>script</code>"- und "<code>style</code>"-Typen. Gleichzeitig wird auch Cross-Origin Read Blocking (CORB) für HTML-, TXT-, JSON- und XML- Dateien (ausgenommen SVG bzw. <code>image/svg+xml</code>) aktiviert. Das Anwenden von <code>nosniff</code> bei Bildern erwies sich als <a href="https://github.com/whatwg/fetch/issues/395">inkompatibel zu bestehenden Webseiten</a>.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Art des Headers</th> + <td>{{Glossary("Antwort-Header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Unzulässiger Header-Name")}}</th> + <td>Nein</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox notranslate">X-Content-Type-Options: nosniff +</pre> + +<h2 id="Direktiven">Direktiven</h2> + +<dl> + <dt><code>nosniff</code></dt> + <dd>Verhindert eine Anfrage, wenn der angeforderte Typ + <ul> + <li>"<code>style</code>" und der MIME-Typ nicht "<code>text/css</code>" ist, oder</li> + <li>"<code>script</code>" und der MIME-Typ kein <a href="https://html.spec.whatwg.org/multipage/scripting.html#javascript-mime-type">JavaScript-MIME-Typ</a> ist.</li> + </ul> + + <p>Aktiviert außerdem Cross-Origin Read Blocking für folgende MIME-Typen:</p> + + <ul> + <li><code>text/html</code></li> + <li><code>text/plain</code></li> + <li><code>text/json</code>, <code>application/json</code> und alle anderen MIME-Typen mit JSON-Erweiterung: <code>*/*+json</code></li> + <li><code>text/xml</code>, <code>application/xml</code> und alle anderen MIME-Typen mit XML-Erweiterung: <code>*/*+xml</code> (ausgenommen <code>image/svg+xml</code>)</li> + </ul> + </dd> +</dl> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Status</th> + <th scope="col">Anmerkung</th> + </tr> + <tr> + <td>{{SpecName("Fetch", "#x-content-type-options-header", "X-Content-Type-Options definition")}}</td> + <td>{{Spec2("Fetch")}}</td> + <td>Erste Definition</td> + </tr> + </tbody> +</table> + +<h2 id="Browser-Kompatibilität">Browser-Kompatibilität</h2> + +<div class="hidden">Die Kompatibilitätstabelle dieser Seite wurde aus strukturierten Daten automatisch generiert. Falls du zu diesen Daten beitragen möchtest, lade dir <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> herunter und sende uns einen Pull Request.</div> + +<p>{{Compat("http.headers.X-Content-Type-Options")}}</p> + +<h3 id="Browser_spezifische_Anmerkung">Browser spezifische Anmerkung</h3> + +<ul> + <li>Firefox 72 schaltet <code>X-Content-Type-Options: nosniff</code> für Dokumente der obersten Ebene frei</li> +</ul> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{HTTPHeader("Content-Type")}}</li> + <li>Die <a href="https://blogs.msdn.microsoft.com/ie/2008/09/02/ie8-security-part-vi-beta-2-update/">Original-Definition</a> von X-Content-Type-Options von Microsoft</li> + <li>Das Werkzeug <a href="https://observatory.mozilla.org/">Mozilla Observatory</a>, um die Sicherheit von Webseiten (darunter auch diesen Header) zu prüfen</li> + <li><a href="https://blog.mozilla.org/security/2016/08/26/mitigating-mime-confusion-attacks-in-firefox/">Mitigating MIME Confusion Attacks in Firefox</a></li> + <li><a href="https://fetch.spec.whatwg.org/#corb">Cross-Origin Read Blocking (CORB)</a></li> + <li><a href="https://chromium.googlesource.com/chromium/src/+/master/services/network/cross_origin_read_blocking_explainer.md">Google Docs CORB explainer</a></li> +</ul> diff --git a/files/de/web/http/headers/x-frame-options/index.html b/files/de/web/http/headers/x-frame-options/index.html new file mode 100644 index 0000000000..5d18375875 --- /dev/null +++ b/files/de/web/http/headers/x-frame-options/index.html @@ -0,0 +1,131 @@ +--- +title: X-Frame-Options +slug: Web/HTTP/Headers/X-Frame-Options +translation_of: Web/HTTP/Headers/X-Frame-Options +--- +<div>{{HTTPSidebar}}</div> + +<p>Die <strong><code>X-Frame-Options</code></strong> im <a href="/en-US/docs/Web/HTTP">HTTP</a> Antwort Header kann verwendet werden, um zu bestimmen, ob ein aufrufender Browser die Zielseite in einem {{HTMLElement("frame")}}, {{HTMLElement("iframe")}}, {{HTMLElement("embed")}} oder {{HTMLElement("object")}} rendern also einbetten darf. Webseiten können diesen Header verwenden, um {{interwiki("wikipedia", "clickjacking")}} Attacken abzuwehren, indem sie unterbinden, dass ihr Content in fremden Seiten eingebettet wird.</p> + +<p>Die somit erreichte Sicherheit wird nur dann gewährleistet, wenn der User zum Aufruf einen Browser verwendet, der die <code>X-Frame-Options</code> Funktion auch unterstützt.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("Response header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>nein</td> + </tr> + </tbody> +</table> + +<h2 id="Syntax">Syntax</h2> + +<p>Es gibt drei mögliche Ausprägungen der <code>X-Frame-Options</code>:</p> + +<pre class="syntaxbox">X-Frame-Options: deny +X-Frame-Options: sameorigin +X-Frame-Options: allow-from https://example.com/ +</pre> + +<h3 id="Ausprägungen">Ausprägungen</h3> + +<p>Die Nutzung von <code>deny</code> unterbindet nicht nur die Frame-Einbindung von fremden Seiten sondern auch das Einbetten auf derselben Ursprungswebseite. Alternativ kann der Wert <code>sameorigin</code> verwendet werden, wenn die Nutzung innerhalb der gleichen Ursprungswebseite erlaubt sein soll.</p> + +<dl> + <dt><code>deny</code></dt> + <dd>Die Seite kann nicht in einem Frame eingebettet werden, egal welches die aufrufende Webseite ist.</dd> + <dt><code>sameorigin</code></dt> + <dd>Die Seite kann nur als Frame eingebettet werden, wenn beide von der gleichen Quellseite (same origin) stammen. Die Spezifikation lässt es Browserherstellern offen, auf welcher Ebene dieser Wert greift: auf höchster Ebene, der nächsthöheren oder der gesamten Kette. Es wird jedoch festgestellt, dass die Option wenig nützlich ist, sofern nicht alle Eltern-Webseiten von der gleichen Quelle stammen (siehe {{bug(725490)}}). Siehe weiterhin {{anch("Browser compatibility")}} zur Browserunterstützung.</dd> + <dt><code>allow-from <em>uri</em></code></dt> + <dd>Die Seite lässt sich ausschließlich dann einbetten, wenn die einbettende Seite aus der Quelle <em><code>uri</code></em> stammt. Hinweis: In Firefox besteht hier das gleiche Problem wie bei <code>sameorigin</code> - die Eltern-Frames werden nicht darauf hin geprüft, ob sie aus der gleichen Quelle stammen.</dd> +</dl> + +<h2 id="Beispiele">Beispiele</h2> + +<div class="note"> +<p><strong>Hinweis:</strong> Die Nutzung des <code>meta tag</code> innerhalb des Webseiten-Contents hat keinen Effekt! Beispielsweise die Deklaration <code><meta http-equiv="X-Frame-Options" content="deny"></code> führt zu keiner Verhaltensänderung. Ausschließlich die Nutzung der HTTP Header (siehe Beispiele) führt zu einer Verhaltensänderung des Browser.</p> +</div> + +<h3 id="Apache_Konfiguration">Apache Konfiguration</h3> + +<p>Um einen Apache Webserver zum Senden des <code>X-Frame-Options</code> Headers für alle Webseiten zu bewegen, fügen Sie folgenden Eintrag in die Seiten-Konfiguration ein:</p> + +<pre>Header always set X-Frame-Options "sameorigin" +</pre> + +<p>Um Apache so zu konfigurieren, dass <code>X-Frame-Options</code> mit dem Wert <code>deny</code> gesendet wird, fügen Sie folgenden Eintrag in die Seiten-Konfiguration ein:</p> + +<pre class="line-numbers language-html"><code class="language-html">Header set X-Frame-Options "deny"</code></pre> + +<p>Um Apache so zu konfigurieren, dass <code>X-Frame-Options</code> mit dem Wert <code>allow-from</code> einen bestimmten Host freigibt, fügen Sie folgenden Eintrag in die Seiten-Konfiguration ein:</p> + +<pre class="line-numbers language-html"><code class="language-html">Header set X-Frame-Options "allow-from https://example.com/"</code></pre> + +<h3 id="nginx_Konfiguration">nginx Konfiguration</h3> + +<p>Um einen nginx Server zum Senden des <code>X-Frame-Options</code> Header aufzufordern, fügen Sie folgenden Eintrag entweder zu Ihrer http, server oder location Konfiguration hinzu:</p> + +<pre>add_header X-Frame-Options sameorigin; +</pre> + +<h3 id="IIS_Konfiguration">IIS Konfiguration</h3> + +<p>Um den IIS Server zum Senden des <code>X-Frame-Options</code> Headers aufzufordern, ergänzen Sie folgenden Eintrag entsprechend in Ihrer <code>Web.config</code> Datei:</p> + +<pre class="brush: xml"><system.webServer> + ... + + <httpProtocol> + <customHeaders> + <add name="X-Frame-Options" value="sameorigin" /> + </customHeaders> + </httpProtocol> + + ... +</system.webServer> +</pre> + +<h3 id="HAProxy_Konfiguration">HAProxy Konfiguration</h3> + +<p>Um HAProxy zum Senden des <code>X-Frame-Options</code> Headers aufzufordern, fügen Sie diesen Eintrag zu Ihrer front-end, listen oder backend Konfiguration hinzu:</p> + +<pre>rspadd X-Frame-Options:\ sameorigin</pre> + +<p>Alternatively, in newer versions:</p> + +<pre class="line-numbers language-html"><code class="language-html">http-response set-header X-Frame-Options sameorigin</code></pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Bezeichnung</th> + </tr> + <tr> + <td>{{RFC("7034")}}</td> + <td>HTTP Header Field X-Frame-Options</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_Kompatibilität">Browser Kompatibilität</h2> + +<p class="hidden">Die hier gelistete Browser-Kompatibilitätstabelle wurde automatisch aus strukturierten Daten erzuegt. Wenn Sie Daten entsprechend ergänzen möchten, tun Sie dies bitte unter der URL <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> und senden Sie uns einen Pull Request.</p> + +<p>{{Compat("http.headers.X-Frame-Options")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li><a href="https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors"><code>frame-ancestors</code> (CSP)</a></li> + <li><a class="external" href="https://blogs.msdn.com/b/ie/archive/2009/01/27/ie8-security-part-vii-clickjacking-defenses.aspx">ClickJacking Defenses - IEBlog</a></li> + <li><a href="https://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx">Combating ClickJacking with X-Frame-Options - IEInternals</a></li> + <li><a href="https://tools.ietf.org/html/rfc7034">HTTP Header Field X-Frame-Options - RFC 7034</a></li> + <li><a href="https://w3c.github.io/webappsec/specs/content-security-policy/#directive-frame-ancestors">CSP Level 2 frame-ancestors directive</a></li> +</ul> |