Dieses Mal werde ich Ihnen das Frontend, HTT, Computer und Netzwerke vorstellen. Was sind die Vorsichtsmaßnahmen für Frontend, HTT, Computer und Netzwerke? Hier sind praktische Fälle, werfen wir einen Blick darauf.
Computernetzwerkkenntnisse, die Full-End-Ingenieure kennen müssen
1. Netzwerk – Detaillierte Erklärung von http-Nachrichten
1
Nachricht anfordern Antwortnachricht 2. Nachrichtenstruktur
(1) Nachricht anfordern
Eine HTTP-Anforderungsnachricht besteht aus 4 Teilen:
Anforderungszeile, Anforderungsheader, Leerzeile und Anforderungsdaten
Die Anforderungszeile
besteht aus drei Feldern: Anforderungsmethodenfeld, URL-Feld und HTTP-Protokollfeld, die durch Leerzeichen getrennt sind:
- Zum Beispiel GET /index.html HTTP/1.1.
-
Zu den Anforderungsmethoden des HTTP-Protokolls gehören GET, POST, HEAD, PUT, DELETE, OPTIONS, TRACE und CONNECT.
Anfrage-Header
Anfrage-Header besteht aus Schlüssel It besteht aus Wort/Wert-Paaren, ein Paar pro Zeile, und die Schlüsselwörter und Werte werden durch den englischen Doppelpunkt „:“ getrennt.
-
Der Anforderungsheader informiert den Server über die Anfrage des Clients;
Häufig verwendete Anforderungsheader:
Accept legt den akzeptierten Inhaltstyp fest
;-
Accept: text/plain
Accept-Charset legt die akzeptierte Zeichenkodierung fest: ;-
Accept-Charset: utf-8
Accept-Encoding Legen Sie das akzeptierte Codierungsformat fest: ;-
Accept-Encoding: gzip, deflate
Accept-Language Legen Sie die akzeptierte Sprache fest: ;-
Accept-Language: en-US
Cache-Control legt die Anweisungen fest, denen alle Caching-Mechanismen in der Anfrage-Antwort-Kette entsprechen müssen: ;-
Cache-Control: no-cache
Connection legt die aktuelle Verbindung fest und hop- by -Hop-Protokoll-Anforderungsfeldlisten-Steuerungsoptionen: ;-
Connection: keep-alive
Content-Length legt die Bytelänge des Anforderungstexts fest: ;-
Content-Length: 348
Content-Type legt den MIME-Typ des Anfragetexts fest (gilt für POST- und PUT-Anfragen): ;-
Content-Type: application/x-www-form-urlencoded
Cookie legt das vom Server gesendete HTTP-Cookie fest Set-Cookie: ;-
Cookie: $Version=1; Skin=new;
Host legt den Serverdomänennamen und die TCP-Portnummer fest. Wenn die Standardportnummer der Dienstanforderung verwendet wird, kann die Portnummer weggelassen werden: ;-
Host: en.wikipedia.org:8080
Origin identifiziert domänenübergreifende Ressourcenanforderungen (fordert den Server auf, das Antwortfeld „Access-Control-Allow-Origin“ festzulegen): ;-
Origin: http://www.example-social-network.com
Expires legt die Ablaufzeit des Antworttexts fest: ;-
Expires: Thu, 01 Dec 1994 16:00:00 GMT
ETag-Identifikator einer bestimmten Versionsressource, normalerweise ein Nachrichten-Digest: ;-
ETag: "737060cd8c284d8af7ad3082f209582d"
Zuletzt geänderte Einstellungsanfrage Das letzte Änderungsdatum des Objekts: ;Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
Leere Zeile
Auf den letzten Anforderungsheader folgt eine Leerzeile, Wagenrücklauf- und Zeilenvorschubzeichen werden gesendet, um den Server darüber zu informieren Keine weiteren Anforderungsheader unten.
Anfragetext (Daten)
Anfragedaten sind Nicht verfügbar, wird in der GET-Methode verwendet, wird aber in der POST-Methode verwendet. Die POST-Methode eignet sich für Situationen, in denen Kunden ein Formular ausfüllen müssen. Die am häufigsten verwendeten Anforderungsheader im Zusammenhang mit Anforderungsdaten sind Content-Type und Content-Length.
HTTP-Antwort besteht ebenfalls aus vier Teilen, nämlich: Statuszeile, Nachrichtenkopf, Leerzeile und Antworttext.
Der einzige wirkliche Unterschied in der Antwort besteht darin, dass Statusinformationen die Anforderungsinformationen in der ersten Zeile ersetzen. Die Statuszeile beschreibt die angeforderte Ressource durch Bereitstellung eines Statuscodes.
Statuszeile
Format: Version des HTTP-Protokoll-Antwortstatuscodes des Servers Code Textbeschreibung;
-
Der Statuscode besteht aus drei Ziffern, die erste Zahl definiert die Kategorie der Antwort und es gibt fünf mögliche Werte:
1xx: Anzeigeinformationen – zeigen an, dass die Anfrage empfangen wurde und die Verarbeitung fortgesetzt wird.
-
2xx: Erfolg – Zeigt an, dass die Anfrage erfolgreich empfangen, verstanden und akzeptiert wurde.
-
3xx: Umleiten – zum Abschließen der Anfrage ist ein weiterer Vorgang erforderlich.
-
4xx: Clientfehler – die Anfrage weist einen Syntaxfehler auf oder die Anfrage kann nicht erfüllt werden.
-
5xx: Serverseitiger Fehler – Der Server konnte eine legitime Anfrage nicht erfüllen.
Allgemeine Statuscodes:
200 OK: Zeigt an, dass die Anfrage erfolgreich war und alles normal ist
301 Permanent verschoben: Umleiten, das vom Kunden angeforderte Dokument ist an anderer Stelle, neue URL Im Location-Header angegeben, sollte der Browser automatisch auf die neue URL zugreifen
302 Gefunden: Temporäre Weiterleitung, ähnlich wie 301, aber die neue URL sollte als temporärer Ersatz behandelt werden , nicht dauerhaft.
304 Nicht geändert: Der Client hat ein gepuffertes Dokument und hat eine bedingte Anfrage ausgegeben. Der Server teilt dem Client mit, dass das ursprünglich zwischengespeicherte Dokument weiterhin verwendet werden kann.
400 Bad Request: In der Anfrage liegt ein Syntaxfehler vor.
403 Verboten: Die Ressource ist nicht verfügbar.
404 Nicht gefunden: Die Ressource am angegebenen Speicherort konnte nicht gefunden werden.
405 Methode nicht zulässig: Die Anforderungsmethode (GET, POST, HEAD, Löschen, PUT, TRACE usw.) ist auf die angegebene Ressource nicht anwendbar.
500 Interner Serverfehler: Der Server ist auf eine unerwartete Situation gestoßen und kann die Kundenanfrage nicht abschließen.
501 Nicht implementiert: Der Server unterstützt nicht die Funktionen, die zur Implementierung der Anfrage erforderlich sind
(3) Informationen zum Anfordern von Beiträgen und get Der Unterschied ist
GET-Übermittlung, die angeforderten Daten werden an die URL angehängt (dh die Daten werden im HTTP-Protokoll-Header platziert); >
- POST-Übermittlung: Platzieren Sie die übermittelten Daten im des HTTP-Pakets
- Größe der übertragenen Daten:
- Das HTTP-Protokoll begrenzt nicht die Größe der übertragenen Daten und die HTTP-Protokollspezifikation begrenzt nicht die URL-Länge.
- Die wichtigsten Einschränkungen in der tatsächlichen Entwicklung sind:
- GET: Bestimmte Browser und Server haben beispielsweise Einschränkungen hinsichtlich der URL-Länge , IEs Limit für die URL-Länge beträgt 2083 Byte (2K+35). Für andere Browser wie Netscape, FireFox usw. gibt es theoretisch keine Längenbeschränkung und die Begrenzung hängt von der Unterstützung des Betriebssystems ab. Daher werden bei der Übermittlung von GET die übertragenen Daten durch die Länge der URL begrenzt.
- POST: Da der Wert nicht über die URL übergeben wird, sind die Daten theoretisch unbegrenzt. Allerdings legt jeder WEB-Server tatsächlich Einschränkungen hinsichtlich der Größe der Post-Übermittlungsdaten fest. Apache und IIS6 haben ihre eigenen Konfigurationen.
4. Sicherheit:
- POST ist sicherer als GET.
- Senden Sie Daten über GET. Der Benutzername und das Passwort werden im Klartext auf der URL angezeigt, da
- (1) Die Anmeldeseite möglicherweise vom Browser-Cache blockiert werden,
- (2) Wenn andere Personen den Verlauf des Browsers anzeigen, können andere an Ihr Konto und Ihr Passwort gelangen
(4), http und https
1. HTTP und HTTPS
- Das HTTP-Protokoll wird normalerweise über dem TCP-Protokoll ausgeführt . Fügen Sie eine Sicherheitsprotokollschicht (SSL oder TSL) zwischen ihnen hinzu. Zu diesem Zeitpunkt wird es zu dem, was wir oft HTTPS nennen.
- Die Standard-Portnummer von HTTP ist 80 und die Portnummer von HTTPS ist 443
2. Warum HTTPS sicher ist
- Weil Netzwerkanfragen eine Weiterleitung durch viele Server-Router erfordern Mitte. Zwischenknoten können Informationen manipulieren, und wenn Sie HTTPS verwenden, befindet sich der Schlüssel nur zwischen Ihnen und der Endstation. Der Grund dafür, dass https sicherer ist als http, liegt darin, dass für die Übertragung das SSL/TLS-Protokoll verwendet wird. Es umfasst Zertifikate, Offloading, Traffic-Weiterleitung, Load-Balancing, Seitenanpassung, Browser-Anpassung, Refer-Zustellung usw. Gewährleistet die Sicherheit des Übertragungsprozesses
3. Über HTTP 2.0
- HTTP/2 führt die „Serverseite“ ein „Das Konzept des „Server-Push“ ermöglicht es dem Server, proaktiv Daten an den Client-Cache zu senden, bevor der Client die Daten benötigt, wodurch die Leistung verbessert wird.
- HTTP/2 bietet mehr Verschlüsselungsunterstützung
- HTTP/2 nutzt Multiplexing-Technologie, wodurch mehrere Nachrichten gleichzeitig über eine Crossover-Verbindung gesendet werden können.
- Es fügt Header-Komprimierung hinzu, sodass selbst bei sehr kleinen Anfragen die Anfrage- und Antwort-Header nur einen kleinen Teil der Bandbreite belegen
4. http-Nachteile:
- Die Kommunikation verwendet Klartext ohne Verschlüsselung und der Inhalt kann gestohlen werden
- Wenn die Identität der kommunizierenden Partei wird nicht überprüft, sie kann verschleiert werden;
- Die Integrität der Nachricht kann nicht überprüft werden und sie kann manipuliert werden.
https ist plus Verschlüsselung (normalerweise SSL-sichere Kommunikationsleitung) + Authentifizierung + Integritätsschutz
5. HTTP/2 und HTTP/1 Der Hauptunterschied zwischen . Wiederverwendete Verbindungen
Header-Informationen komprimieren, um den Overhead zu reduzieren Erlauben Sie dem Server, Antworten aktiv in den Cache des Clients zu pushen-
(5), http-Statuscode
简单版
[
100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息
200 OK 正常返回信息
201 Created 请求成功并且服务器创建了新的资源
202 Accepted 服务器已接受请求,但尚未处理
301 Moved Permanently 请求的网页已永久移动到新位置。
302 Found 临时性重定向。
303 See Other 临时性重定向,且总是使用 GET 请求新的 URI。
304 Not Modified 自从上次请求后,请求的网页未修改过。
400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
401 Unauthorized 请求未授权。
403 Forbidden 禁止访问。
404 Not Found 找不到如何与 URI 相匹配的资源。
500 Internal Server Error 最常见的服务器端错误。
503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。
]
2. Netzwerk – Andere
1 Eine Seite wird durch Eingabe der URL zur Seite fertiggestellt Ladeanzeige, was ist bei diesem Vorgang passiert? (Je detaillierter der Prozess ist, desto besser)
Was passiert im Prozess von der Eingabe der URL bis zum Abschluss des Seitenladens und der Anzeige auf einer Seite?
2 Netzwerkschichtung Was sind die sieben Schichten des Sieben-Schichten-Modells?
Anwendungsschicht: Anwendungsschicht, Präsentationsschicht, Sitzungsschicht (von oben nach unten) (HTTP, FTP). , SMTP, DNS)
Transportschicht (TCP und UDP)
Netzwerkschicht (IP)
-
Physische und Datenverbindungs-Straßenschicht (Ethernet)
Die Funktionen jeder Schicht sind wie folgt:
Physikalische Schicht: Bits übertragen durch das Medium, mechanische und elektrische Spezifikationen bestimmen (Bit) Datenverbindungsschicht: Zusammensetzen von Bits zu Frames und Punkt-zu-Punkt-Übertragung (Frame Frame)
Netzwerkschicht: Verantwortlich für Datenpakete von der Quelle zur Senke Zustellung und Internetverbindung (Paket)
Transportschicht: Bietet durchgängig zuverlässige Nachrichtenzustellung und Fehlerbehebung (Segment)
Sitzungsschicht: Sitzungen einrichten, verwalten und beenden (Session Protocol Data Unit SPDU)
-
Präsentationsschicht: Daten übersetzen, verschlüsseln und komprimieren (Representation Protocol Data Unit PPDU)
Anwendungsschicht: bedeutet, den Zugriff auf die OSI-Umgebung (Application Protocol Data Unit APDU) zu ermöglichen
3. Prinzip des 304-Cache
Der Server generiert zunächst einen ETag, anhand dessen der Server später feststellen kann, ob die Seite geändert wurde. Im Wesentlichen fordert der Client den Server auf, seinen (Client-)Cache zu überprüfen, indem er dieses Token an den Server zurückgibt.
304 ist der HTTP-Statuscode, den der Server verwendet, um die Datei anzuzeigen wurde nicht geändert und wird nicht zurückgegeben. Nach Erhalt eines Statuscodes verwendet der Browser die vom Browser zwischengespeicherte Datei
Der Client fordert eine Seite an (A). Der Server gibt Seite A zurück und fügt ein ETag zu A hinzu. Der Client rendert die Seite und speichert sie zusammen mit dem ETag im Cache. Der Client fordert Seite A erneut an und übergibt sie zusammen mit dem ETag, das der Server bei der letzten Anfrage zurückgegeben hat, an den Server. Der Server überprüft das ETag und stellt fest, dass die Seite seit der letzten Client-Anfrage nicht geändert wurde, und gibt direkt die Antwort 304 (Nicht geändert) und einen leeren Antworttext zurück
Mehr erfahren-- Browser-Caching
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Für weitere spannende Informationen achten Sie bitte auf andere verwandte Themen im PHP Chinesischer Website-Artikel!
Empfohlene Lektüre:
Oday-Berechtigungseskalation und detaillierte Schritte zum stapelweisen Erhalten von Mall-Server-Root-Berechtigungen
Wird in HTML verwendet Zusammenfassung der JS-Methoden
Das obige ist der detaillierte Inhalt vonFrontend, HTT, Computer und Netzwerke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!