Was ist http?
Erstens ist alles, was die vollständige Form von HTTP ist, Hypertext -Transferprotokoll. HTTP ist ein Anwendungsschichtprotokoll im ISO- oder TCP/IP -Modell. In dem folgenden Bild finden Sie HTTP, das sich unter Anwendungsschicht befindet.
HTTP wird vom World Wide Web (w) verwendet.w.w) und es definiert, wie Nachrichten vom Browser formatiert und übertragen werden. Daher definieren HTTP Reuules, welche Maßnahmen ergriffen werden sollen, wenn ein Browser den HTTP -Befehl empfängt. Und auch HTTP definiert Regeln für die Übertragung des HTTP -Befehls, um Daten vom Server abzurufen.
Wenn Sie beispielsweise eine URL in Browser (Internet Explorer, Chrome, Firefox, Safari usw.) eingeben, sendet sie tatsächlich einen HTTP -Befehl an den Server.Und Server antwortet mit dem angemessenen Befehl.
HTTP -Methoden:
Es gibt einige Methoden für HTTP/1.1 (Dies ist HTTP -Version)
Holen Sie sich, Kopf, Post, Löschen, Verbinden, Optionen und Spuren.
Wir werden nicht Einzelheiten zu jeder Methode einstimmen, stattdessen werden wir uns über die Methoden informieren, die oft oft gesehen werden.Wie zum Beispiel
ERHALTEN: Anfrage abrufen fragt Daten vom Webserver. Dies ist eine Hauptmethode verwendet Dokument -Retrival. Wir werden ein praktisches Beispiel für diese Methode sehen.
POST: Die Postmethode wird verwendet, wenn einige Daten an den Server gesendet werden müssen.
HTTP ist WIRESAHARK:
Versuchen wir etwas Praktisches, um zu verstehen, wie HTTP funktioniert ?
In diesem Beispiel werden wir also herunterladen „Alice.txt ”(Datendatei auf dem Server vorhanden) aus „Gaia.CS.Umass.Edu ” Server.
Setps:
HTTP -Pakete Austausch in Wireshark:
Bevor wir in HTTP eingehen, sollten wir wissen, dass HTTP Port 80 und TCP als Transportschichtprotokoll verwendet [wir werden TCP in einer anderen Themendiskussion erklären].
Lassen Sie uns nun sehen, was im Netzwerk passiert, wenn wir diese URL einsetzen und in den Browser eindringen.
Hier ist der Screenshot für
TCP 3-Wege-Handshake-> Http OK-> TCP-Daten [Inhalt von Alice.txt] ->
Http-ac
Nun wollen wir sehen, was sich in HTTP GET und HTTP OK -Paketen befindet.
Hinweis: Wir werden den TCP -Austausch in einer anderen Themendiskussion erläutern.
Http bekommen:
Nach dem 3-Wege-Handshake von TCP [Syn, Syn+ACK und ACK] wird HTTP-Anforderung an den Server gesendet. Hier finden Sie die wichtigen Felder im Paket.
1.Anforderungsmethode: Get ==> Das Paket ist ein HTTP -Get .
2.Anfrage URI: /Wireshark-Labs /Alice.txt ==> Der Client fragt nach Datei Alice.TXT unter /Wireshark-Labor vorhanden
3.Anfrageversion: Http/1.1 ==> Es ist http Version 1.1
4.Akzeptieren: text/html, application/xhtml+xml, bild/jxr, */ * ==> Teilt Server über den Typ der Datei -IT an [Client -Seitenbrowser] kann akzeptieren. Hier erwartet der Kunde Alice.txt, der Texttyp ist.
5.Sprache akzeptieren: en-us ==> Akzeptierter Sprachstandard.
6.User-Agent: Mozilla/5.0 (Windows NT 10.0; Wow64; Trident/7.0; RV: 11.0) wie Gecko ==> Client -Seitenbrowsertyp. Auch wenn wir Internet Explorer benutzt haben, aber wir sehen es immer/maximal Zeit, sagt Mozilla
7.Akzeptieren: Kenner: gzip, Deflate ==> akzeptierte Codierung auf der Client -Seite.
8.Gastgeber: Gaia.CS.Umass.Edu ==> Dies ist der Name des Webservers, bei dem der Client HTTP -GET -Anforderung sendet.
9.Verbindung: Keep-Alive ==> Die Verbindung steuert, ob die Netzwerkverbindung nach Abschluss der aktuellen Transaktion geöffnet bleibt. Verbindungstyp ist am Leben erhalten.
Hier ist der Screenshot für HTTP-Get-Paketfelder
Http ok:
Nach TCP -Daten [Inhalt von Alice.TXT] wird erfolgreich gesendet. HTTP OK wird an den Client gesendet und hier sind die wichtigen Felder im Paket.
1. Antwortversion: Http/1.1 ==> Hier Server auch in HTTP Version 1.1
2.Statuscode: 200 ==> Statuscode vom Server gesendet.
3.Antwortausdruck: OK ==> Antwortphrase vom Server gesendet.
Die von 2 und 3 wir bekommen 200 OK, was bedeutet, dass die Anfrage [HTTP GET] erfolgreich ist.
4.Datum: Sonne, 10. Februar 2019 06:24:19 GMT ==> Aktuelles Datum, Uhrzeit in GMT, wenn HTTP -Get vom Server empfangen wurde.
5.Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2K-FIP-PHP/5.4.16 mod_perl/2.0.10 Perl/V5.16.3 ==> Serverdetails und Konfigurationenversionen.
6.Zuletzt bearbeitet: Sa, 21. August 2004 14:21:11 GMT ==> Letzter geändertes Datum und Uhrzeit für die Datei „Alice.txt".
7.ETAG: “2524a-3E22ABA3A03C0” ==> Der ETAG gibt an. Oder wenn sich der Inhalt geändert hat, sind ETAGs nützlich, um zu verhindern, dass gleichzeitige Aktualisierungen einer Ressource sich gegenseitig überschreiben.
8. Akzeptieren von Bytes ==> Byte ist das Gerät, das auf dem Server für Inhalte verwendet wird.
9.Inhaltslänge: 152138 ==> Dies ist die Gesamtlänge der Alice.txt in Bytes.
10. Bleib am Leben: Timeout = 5, max = 100 ==> Allen -Parameter am Leben erhalten.
11.Verbindung: Bleib am Leben ==> Die Verbindung steuert steuert, ob die Netzwerkverbindung nach Abschluss der aktuellen Transaktion geöffnet bleibt. Verbindungstyp ist am Leben erhalten.
12.Inhaltstyp: Text/einfach; charset = utf-8 ==> Der Inhalt [Alice.txt] Typ ist Text und Charset Standard ist UTF-8.
Hier ist der Screenshot für verschiedene Felder von HTTP OK -Paket.
Jetzt wissen wir also, was passiert, wenn wir eine Datei anfordern, die auf dem Webserver vorhanden ist.
HTTP ist ein einfaches Anwendungsprotokoll, das wir jeden Tag in unserem Leben verwenden. Aber es ist nicht sicher, so dass HTTPS implementiert wurde. Dass „S“ für Secure steht. Deshalb beginnen Sie so maximaler Web -Server -Name mit HTTPS: // [Websitename]. Dies bedeutet, dass alle Kommunikation zwischen Ihnen und Server verschlüsselt sind. Wir werden in Zukunft separate Diskussionen über diese HTTPS haben.