Heim  >  Artikel  >  Web-Frontend  >  Frontend, HTT, Computer und Netzwerke

Frontend, HTT, Computer und Netzwerke

php中世界最好的语言
php中世界最好的语言Original
2018-05-25 11:52:212494Durchsuche

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
  1. Antwortnachricht
  2. 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
    ;
  1. Accept: text/plain

    Accept-Charset legt die akzeptierte Zeichenkodierung fest:
  2. ;
  3. Accept-Charset: utf-8

    Accept-Encoding Legen Sie das akzeptierte Codierungsformat fest:
  4. ;
  5. Accept-Encoding: gzip, deflate

    Accept-Language Legen Sie die akzeptierte Sprache fest:
  6. ;
  7. Accept-Language: en-US

    Cache-Control legt die Anweisungen fest, denen alle Caching-Mechanismen in der Anfrage-Antwort-Kette entsprechen müssen:
  8. ;
  9. Cache-Control: no-cache

    Connection legt die aktuelle Verbindung fest und hop- by -Hop-Protokoll-Anforderungsfeldlisten-Steuerungsoptionen:
  10. ;
  11. Connection: keep-alive

    Content-Length legt die Bytelänge des Anforderungstexts fest:
  12. ;
  13. Content-Length: 348

    Content-Type legt den MIME-Typ des Anfragetexts fest (gilt für POST- und PUT-Anfragen):
  14. ;
  15. Content-Type: application/x-www-form-urlencoded

    Cookie legt das vom Server gesendete HTTP-Cookie fest Set-Cookie:
  16. ;
  17. 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:
  18. ;
  19. Host: en.wikipedia.org:8080

    Origin identifiziert domänenübergreifende Ressourcenanforderungen (fordert den Server auf, das Antwortfeld „Access-Control-Allow-Origin“ festzulegen):
  20. ;
  21. Origin: http://www.example-social-network.com

    Expires legt die Ablaufzeit des Antworttexts fest:
  22. ;
  23. Expires: Thu, 01 Dec 1994 16:00:00 GMT

    ETag-Identifikator einer bestimmten Versionsressource, normalerweise ein Nachrichten-Digest:
  24. ;
  25. ETag: "737060cd8c284d8af7ad3082f209582d"

    Zuletzt geänderte Einstellungsanfrage Das letzte Änderungsdatum des Objekts:
  26. ;
  27. 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.
  • (2), Antwortnachricht
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.
  1. 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

  1. GET-Übermittlung, die angeforderten Daten werden an die URL angehängt (dh die Daten werden im HTTP-Protokoll-Header platziert); >

  2. POST-Übermittlung: Platzieren Sie die übermittelten Daten im des HTTP-Pakets

  3. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn