HTTP/-S Basics

  • URL (Uniform Resource Locator): Eine URL ist eine Anweisung, wie man eine Ressource im Internet aufruft.

  • Scheme: Bestimmt das Protokoll, das verwendet wird, um auf die Ressource zuzugreifen (z.B. HTTP, HTTPS, FTP).

  • User: Optionaler Teil, der einen Benutzernamen und ein Passwort enthält, wenn für den Zugriff eine Authentifizierung erforderlich ist.

  • Host: Die Domain oder IP-Adresse des Servers, den du erreichen möchtest.

  • Port: Der Port, über den die Verbindung hergestellt wird, normalerweise 80 für HTTP und 443 für HTTPS.

  • Path: Der Pfad oder Dateiname der Ressource, die du aufrufen möchtest.

  • Query String: Zusätzliche Informationen, die an den Pfad gesendet werden, um spezifische Daten anzufordern (z.B. ?id=1).

  • Fragment: Ein Verweis auf eine bestimmte Stelle auf der angeforderten Seite, um direkt zu einem bestimmten Abschnitt zu springen.

Making a Request

Wenn du eine Anfrage an einen Webserver stellst, kannst du das einfach mit einer Zeile wie "GET / HTTP/1.1" tun. Diese Anfrage fordert die Startseite einer Website an.

Für eine vollständige Anfrage, die mehr Informationen enthält, werden Headers verwendet, um dem Webserver zusätzliche Details mitzuteilen.

Beispiel-Anfrage

GET / HTTP/1.1
Host: tryhackme.com
User-Agent: Mozilla/5.0 Firefox/87.0
Referer: <https://tryhackme.com/>
  • Line 1: Fordert die Startseite an und teilt dem Server mit, dass HTTP Version 1.1 verwendet wird.

  • Line 2: Gibt an, dass die Website "tryhackme.com" aufgerufen werden soll.

  • Line 3: Teilt dem Server mit, dass der Firefox-Browser Version 87 verwendet wird.

  • Line 4: Sagt dem Server, dass die Anfrage von der Seite "https://tryhackme.com" stammt.

  • Line 5: Die leere Zeile signalisiert das Ende der Anfrage.

Beispiel-Antwort

HTTP/1.1 200 OK
Server: nginx/1.15.8
Date: Fri, 09 Apr 2021 13:34:03 GMT
Content-Type: text/html
Content-Length: 98
<html>
	<head>
		<title>TryHackMe</title>
	</head>
	<body>
	    Welcome To TryHackMe.com
	</body>
</html>

Wenn der Server antwortet, sieht die Antwort so aus:

  • Line 1: Der Server verwendet HTTP 1.1 und der Status "200 OK" zeigt an, dass die Anfrage erfolgreich war.

  • Line 2: Zeigt die verwendete Server-Software und Version.

  • Line 3: Gibt das aktuelle Datum und die Uhrzeit des Servers an.

  • Line 4: Teilt mit, dass der Inhalt HTML ist.

  • Line 5: Zeigt die Länge des Inhalts an, um sicherzustellen, dass nichts fehlt.

  • Line 6: Die leere Zeile signalisiert das Ende der Antwort.

  • Lines 7-14: Der angeforderte Inhalt, in diesem Fall die Startseite.

HTTP Methods/Requests

  • GET Request: Wird verwendet, um Informationen von einem Webserver abzurufen.

  • POST Request: Wird verwendet, um Daten an einen Webserver zu senden und möglicherweise neue Einträge zu erstellen.

  • PUT Request: Wird verwendet, um Daten an einen Webserver zu senden und bestehende Informationen zu aktualisieren.

  • DELETE Request: Wird verwendet, um Informationen oder Einträge von einem Webserver zu löschen.

Headers

Request Headers (vom Client zum Server):

  • Host: Gibt an, welche Website auf einem Server mit mehreren Websites angefordert wird.

  • User-Agent: Sagt dem Server, welchen Browser du verwendest, damit die Seite richtig angezeigt wird.

  • Content-Length: Gibt an, wie viel Daten du an den Server sendest, z.B. in einem Formular.

  • Accept-Encoding: Teilt dem Server mit, welche Kompressionsmethoden dein Browser unterstützt, um die Datenübertragung zu optimieren.

  • Cookie: Sendet gespeicherte Daten an den Server, um dich wiederzuerkennen.

Response Headers (vom Server zum Client):

  • Set-Cookie: Speichert Informationen, die bei jedem weiteren Zugriff an den Server zurückgesendet werden.

  • Cache-Control: Bestimmt, wie lange der Browser die Antwort zwischenspeichern soll, bevor er sie erneut anfordert.

  • Content-Type: Informiert den Browser über den Typ der zurückgegebenen Daten (z.B. HTML, CSS, Bild).

  • Content-Encoding: Gibt an, welche Methode verwendet wurde, um die Daten für die Übertragung zu komprimieren.

Last updated