HTTP-Header: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Get) |
|||
| (4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | =Request Anfragen= | ||
| + | *Es gibt zwei Arten von Anfragen GET und POST | ||
| + | ==Get== | ||
| + | *Bei Get werden die Daten die gesendet werden sollen, direkt in die URL geschrieben. | ||
| + | *etwa so www.xinux.de/register.php?firstname=thomas&name=will&age=55&gender=male | ||
| + | *Sämtliche vom Benutzer eingegebenen Informationen werden so offen übermittelt wie die URL selbst | ||
| + | ===Vorteile=== | ||
| + | *URL-Parameter können zusammen mit der Website-Adresse gespeichert werden. | ||
| + | *Suchanfrage als können als Lesezeichen anlegt werden | ||
| + | *Die Seite lässt sich bei Bedarf auch über den Browserverlauf wieder zurückholen. | ||
| + | ===Nachteile=== | ||
| + | *fehlende Datenschutz. | ||
| + | *mitgesendeten URL-Parameter sind für jedermann in der Browser-Adresszeile sichtbar | ||
| + | *unverschlüsselt im Browserverlauf, im Cache und im Logfile des Servers abgelegt. | ||
| + | *kann keine binäre Daten enthalten | ||
| + | |||
| + | ==POST== | ||
| + | *schreibt die URL-Parameter in den HTTP-Request | ||
| + | *für Benutzer nicht sichtbar. | ||
| + | *Umfang der POST-Anfragen ist unbeschränkt | ||
| + | ===Vorteile=== | ||
| + | *wenn sensible Daten an den Server zu übermitteln ist die POST-Methode die bessere Wahl | ||
| + | *Daten werden nicht im Cache gespeichert | ||
| + | *Daten erscheinen nicht im Browserverlauf. | ||
| + | *Man kann auch binäre Daten so übetragen | ||
| + | ===Nachteile=== | ||
| + | *Bei einer Aktualisierung einer Webseite mit einem Formular müssen die Formulardaten nochmals übermittelt werden | ||
| + | *Gefahr, dass Daten versehentlich mehrmals gesendet werden | ||
| + | *Es gibt Mechanismen die solche Probleme abfangen | ||
| + | =Beispiele von Headern= | ||
| + | |||
| + | |||
=Allgemein= | =Allgemein= | ||
HTTP-Header-Felder liefern erforderlichen Informationen über die Anforderung oder eine Antwort, oder über das Objekt im Nachrichtentext gesendet. | HTTP-Header-Felder liefern erforderlichen Informationen über die Anforderung oder eine Antwort, oder über das Objekt im Nachrichtentext gesendet. | ||
| Zeile 6: | Zeile 38: | ||
*Server-Antwort-Header: Diese Header-Felder haben nur Geltung für Antwortnachrichten. | *Server-Antwort-Header: Diese Header-Felder haben nur Geltung für Antwortnachrichten. | ||
*Entität-header: Diese Header-Felder definieren Metainformationen über das Daten-Inhalts oder, wenn kein Körper vorhanden ist, über die Ressource durch die Anforderung identifizierte. | *Entität-header: Diese Header-Felder definieren Metainformationen über das Daten-Inhalts oder, wenn kein Körper vorhanden ist, über die Ressource durch die Anforderung identifizierte. | ||
| − | |||
==Client-Anfrage== | ==Client-Anfrage== | ||
<pre> | <pre> | ||
| Zeile 47: | Zeile 78: | ||
*Vary: Sagt, welche Header-Felder als variierend betrachtet werden sollen, falls eine Datei aus dem Cache angefordert wird. | *Vary: Sagt, welche Header-Felder als variierend betrachtet werden sollen, falls eine Datei aus dem Cache angefordert wird. | ||
*X-Powered-By: Gibt an, auf welcher Technologie (ASP.NET, PHP, JBoss u. a.) die Webapplikation basiert | *X-Powered-By: Gibt an, auf welcher Technologie (ASP.NET, PHP, JBoss u. a.) die Webapplikation basiert | ||
| + | *Content-Length: Länge des Request-Bodys | ||
| + | |||
| + | =Quellen= | ||
| + | *https://www.ionos.de/digitalguide/hosting/hosting-technik/http-header/ | ||
| + | *https://www.tutorialspoint.com/de/http/http_header_fields.htm | ||
| + | *https://de.wikipedia.org/wiki/Liste_der_HTTP-Headerfelder | ||
| + | *https://www.ionos.de/digitalguide/websites/web-entwicklung/get-vs-post/ | ||
Aktuelle Version vom 17. Juni 2021, 09:52 Uhr
Request Anfragen
- Es gibt zwei Arten von Anfragen GET und POST
Get
- Bei Get werden die Daten die gesendet werden sollen, direkt in die URL geschrieben.
- etwa so www.xinux.de/register.php?firstname=thomas&name=will&age=55&gender=male
- Sämtliche vom Benutzer eingegebenen Informationen werden so offen übermittelt wie die URL selbst
Vorteile
- URL-Parameter können zusammen mit der Website-Adresse gespeichert werden.
- Suchanfrage als können als Lesezeichen anlegt werden
- Die Seite lässt sich bei Bedarf auch über den Browserverlauf wieder zurückholen.
Nachteile
- fehlende Datenschutz.
- mitgesendeten URL-Parameter sind für jedermann in der Browser-Adresszeile sichtbar
- unverschlüsselt im Browserverlauf, im Cache und im Logfile des Servers abgelegt.
- kann keine binäre Daten enthalten
POST
- schreibt die URL-Parameter in den HTTP-Request
- für Benutzer nicht sichtbar.
- Umfang der POST-Anfragen ist unbeschränkt
Vorteile
- wenn sensible Daten an den Server zu übermitteln ist die POST-Methode die bessere Wahl
- Daten werden nicht im Cache gespeichert
- Daten erscheinen nicht im Browserverlauf.
- Man kann auch binäre Daten so übetragen
Nachteile
- Bei einer Aktualisierung einer Webseite mit einem Formular müssen die Formulardaten nochmals übermittelt werden
- Gefahr, dass Daten versehentlich mehrmals gesendet werden
- Es gibt Mechanismen die solche Probleme abfangen
Beispiele von Headern
Allgemein
HTTP-Header-Felder liefern erforderlichen Informationen über die Anforderung oder eine Antwort, oder über das Objekt im Nachrichtentext gesendet.
Es gibt vier Arten von HTTP-Headern
- Allgemein-Header: Diese Header-Felder haben allgemeine Anwendbarkeit sowohl für Anforderungs- und Antwortnachrichten.
- Client-Anfrage-Header: Diese Header-Felder haben Anwendbarkeit nur für Anforderungsnachrichten .
- Server-Antwort-Header: Diese Header-Felder haben nur Geltung für Antwortnachrichten.
- Entität-header: Diese Header-Felder definieren Metainformationen über das Daten-Inhalts oder, wenn kein Körper vorhanden ist, über die Ressource durch die Anforderung identifizierte.
Client-Anfrage
GET / HTTP/1.1 Host: www.xinux.de User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Upgrade-Insecure-Requests: 1 Te: trailers Connection: close
- Erklärungen
- Host: Domain-Name des Servers
- User-Agent: Welcher Browser wird genutzt
- Accept: Welche Inhaltstypen der Client verarbeiten kann
- Accept-Language: Gewünschte Sprachversion
- Accept-Encoding: Welche komprimierten Formate werdem unterstützt
- Connection: Soll eine persistende oder eine nicht persistende Verbindung aufgebaut werden
Server Antwort
HTTP/2 200 OK Content-Type: text/html; charset=UTF-8 Date: Sun, 13 Jun 2021 19:14:20 GMT Link: <https://www.xinux.de/index.php?rest_route=/>; rel="https://api.w.org/" Link: <https://www.xinux.de/index.php?rest_route=/wp/v2/pages/10>; rel="alternate"; type="application/json" Link: <https://www.xinux.de/>; rel=shortlink Server: Apache/2.4.38 (Debian) Vary: Accept-Encoding X-Powered-By: PHP/7.4.16 Content-Length: 13220
- Erklärungen
- Content-Type: MIME-Typ der angeforderten Datei
- Date: Zeitpunkt der Response
- Server: Webserver Version
- Link: "Verwandte“ Dateien oder Ressourcen werden mitgeteilt (z. B. einen RSS-Feed, einen Favicon, Copyright-Lizenzen etc)
- Vary: Sagt, welche Header-Felder als variierend betrachtet werden sollen, falls eine Datei aus dem Cache angefordert wird.
- X-Powered-By: Gibt an, auf welcher Technologie (ASP.NET, PHP, JBoss u. a.) die Webapplikation basiert
- Content-Length: Länge des Request-Bodys