Heim  >  Artikel  >  Java  >  Fragen zum Vorstellungsgespräch für Java-Praktikanten 2023 – HTTP- und HTTPS-Protokolle

Fragen zum Vorstellungsgespräch für Java-Praktikanten 2023 – HTTP- und HTTPS-Protokolle

王林
王林nach vorne
2020-10-30 16:38:373131Durchsuche

Fragen zum Vorstellungsgespräch für Java-Praktikanten 2023 – HTTP- und HTTPS-Protokolle

1. Einführung in HTTP

HTTP-Protokoll ist die Abkürzung für Hyper Text Transfer Protocol. Das HTTP-Protokoll funktioniert auf einer Client-Server-Architektur. Als HTTP-Client sendet der Browser alle Anfragen über die URL an den HTTP-Server, also den WEB-Server. Der Webserver sendet Antwortinformationen basierend auf der empfangenen Anfrage an den Client.

(Video-Tutorial-Sharing: Java-Kurs)

2. HTTP-Protokolleigenschaften

Keine Verbindung: Die Bedeutung von „Keine Verbindung“ besteht darin, jede Verbindung auf die Verarbeitung nur einer Anfrage zu beschränken. Nachdem der Server die Anfrage des Clients verarbeitet und die Antwort des Clients empfangen hat, wird die Verbindung getrennt. Diese Methode spart Übertragungszeit.
Zustandslos: Das HTTP-Protokoll ist ein zustandsloses Protokoll. Zustandslos bedeutet, dass das Protokoll über keine Speicherkapazität für die Transaktionsverarbeitung verfügt. Das Fehlen eines Status bedeutet, dass, wenn für die nachfolgende Verarbeitung die vorherigen Informationen erforderlich sind, diese erneut übertragen werden müssen, was zu einer Erhöhung der pro Verbindung übertragenen Datenmenge führen kann. Andererseits reagiert der Server schneller, wenn er keine vorherigen Informationen benötigt.

3. HTTP-Statuscode

1xx: Anweisungsinformation – zeigt an, dass die Anfrage empfangen wurde, Fortsetzung der Verarbeitung
2xx: Erfolg – ​​zeigt an, dass die Anfrage erfolgreich empfangen, verstanden und akzeptiert wurde
3xx: Weiterleitung – weiterer Fortschritt muss erfolgen durchgeführt werden, um die Anforderung abzuschließen. Vorgang
4xx: Clientseitiger Fehler – die Anforderung weist einen Syntaxfehler auf oder die Anforderung kann nicht erfüllt werden.
5xx: Serverseitiger Fehler – der Server konnte die legitime Anforderung nicht erfüllen.

Gemeinsame Statuscodes:

200 OK                     //客户端请求成功
400 Bad Request            //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized           //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
403 Forbidden              //服务器收到请求,但是拒绝提供服务
404 Not Found              //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error  //服务器发生不可预期的错误
503 Server Unavailable     //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

4. Funktionsweise von HTTP

HTTP-Protokoll Definiert, wie der Web-Client Webseiten vom Webserver anfordert und wie der Server die Webseiten an den Client übermittelt. Das HTTP-Protokoll verwendet ein Anforderungs-/Antwortmodell. Der Client sendet eine Anforderungsnachricht an den Server. Die Anforderungsnachricht enthält die Anforderungsmethode, die URL, die Protokollversion, den Anforderungsheader und die Anforderungsdaten. Der Server antwortet mit einer Statuszeile, die die Protokollversion, den Erfolgs- oder Fehlercode, Serverinformationen, Antwortheader und Antwortdaten enthält.
Die folgenden Schritte sind für HTTP-Anfragen/-Antworten aufgeführt:
1. Der Client stellt eine Verbindung zum Webserver her.
Ein HTTP-Client, normalerweise ein Browser, stellt eine TCP-Socket-Verbindung mit dem HTTP-Port des Webservers her (Standard ist 80). Zum Beispiel http://www.baidu.con.
2. HTTP-Anfrage senden
Über den TCP-Socket sendet der Client eine Textanforderungsnachricht an den Webserver. Eine Anforderungsnachricht besteht aus vier Teilen: Anforderungszeile, Anforderungsheader, Leerzeile und Anforderungsdaten.
3. Der Server akzeptiert die Anfrage und gibt eine HTTP-Antwort zurück.
Der Webserver analysiert die Anfrage und findet die angeforderte Ressource. Der Server schreibt eine Kopie der Ressource in den TCP-Socket, die vom Client gelesen wird. Eine Antwort besteht aus vier Teilen: Statuszeile, Antwortheader, Leerzeile und Antwortdaten.

(Empfohlene verwandte Interviewfragen: Java-Interviewfragen und -antworten)

4. Geben Sie die TCP-Verbindung frei.
Wenn der Verbindungsmodus geschlossen ist, schließt der Server die TCP-Verbindung aktiv und der Client schließt die Verbindung passiv und gibt sie frei die TCP-Verbindung; wenn die Verbindung im Keepalive-Modus ist, wird die Verbindung für einen bestimmten Zeitraum aufrechterhalten und während dieser Zeit können weiterhin Anfragen empfangen werden.
Der Client-Browser analysiert zuerst In der Statuszeile können Sie den Statuscode überprüfen, der angibt, ob die Anfrage erfolgreich ist. Anschließend wird jeder Antwortheader analysiert und der Antwortheader teilt dem folgenden HTML-Dokument mehrere Bytes und den Zeichensatz des Dokuments mit. Der Client-Browser liest die HTML-Antwortdaten, formatiert sie entsprechend der HTML-Syntax und zeigt sie im Browserfenster an.
Zum Beispiel: Geben Sie die URL in die Adressleiste des Browsers ein und drücken Sie die Eingabetaste. Sie durchlaufen den folgenden Vorgang:
1. Der Browser fordert den DNS-Server auf, die IP-Adresse aufzulösen, die dem Domänennamen in der URL entspricht. Stellen Sie nach dem Parsen der IP-Adresse eine TCP-Verbindung mit dem Server basierend auf der IP-Adresse und dem Standardport 80 her. Der Browser sendet eine HTTP-Anfrage zum Lesen der Datei (die Datei, die dem letzten Teil des Domänennamens entspricht). Diese Anforderungsnachricht dient als dritter Schritt des TCP-Drei-Wege-Handshakes. Die Daten der Nachricht werden an den Server gesendet
4.
5. Gibt die TCP-Verbindung frei.

Der Browser konvertiert den Inhalt Es handelt sich um eine sichere Version von HTTP, das heißt, HTTP wird um eine SSL-Schicht erweitert. Die Sicherheitsgrundlage von HTTPS ist SSL, daher sind die Details der Verschlüsselung für den Inhalt erforderlich.
Die Hauptfunktionen des HTTPS-Protokolls können in zwei Typen unterteilt werden: Die eine besteht darin, einen Informationssicherheitskanal einzurichten, um die Sicherheit der Datenübertragung zu gewährleisten, die andere darin, die Authentizität der Website zu bestätigen.
Die Hauptunterschiede zwischen HTTPS und HTTP sind wie folgt:

1. Für das https-Protokoll ist die Beantragung eines Zertifikats bei einer Zertifizierungsstelle erforderlich. Im Allgemeinen gibt es weniger kostenlose Zertifikate, daher ist eine bestimmte Gebühr erforderlich.

2. http ist ein Hypertext-Übertragungsprotokoll und Informationen werden im Klartext übertragen, während https ein sicheres SSL-verschlüsseltes Übertragungsprotokoll ist.

3. http und https verwenden völlig unterschiedliche Verbindungsmethoden und verwenden unterschiedliche Ports. Ersteres ist 80 und letzteres ist 443.

4. Die HTTP-Verbindung ist sehr einfach und zustandslos; das HTTPS-Protokoll ist ein Netzwerkprotokoll, das auf dem SSL+HTTP-Protokoll basiert und eine verschlüsselte Übertragung und Identitätsauthentifizierung durchführen kann und sicherer als das HTTP-Protokoll ist.

6. So wird die Sicherheit von HTTPS erreicht

Fragen zum Vorstellungsgespräch für Java-Praktikanten 2023 – HTTP- und HTTPS-Protokolle

(1) Der Kunde greift über die https-URL auf den Webserver zu und benötigt den Aufbau einer SSL-Verbindung mit dem Webserver.
(2) Nach Erhalt der Client-Anfrage übermittelt der Webserver eine Kopie der Zertifikatsinformationen der Website (das Zertifikat enthält den öffentlichen Schlüssel) an den Client.
(3) Der Browser des Clients und der Webserver beginnen mit der Aushandlung der Sicherheitsstufe der SSL-Verbindung, also der Stufe der Informationsverschlüsselung.
(4) Der Browser des Clients erstellt einen Sitzungsschlüssel basierend auf der von beiden Parteien vereinbarten Sicherheitsstufe, verwendet dann den öffentlichen Schlüssel der Website, um den Sitzungsschlüssel zu verschlüsseln und überträgt ihn an die Website.
(5) Der Webserver verwendet seinen eigenen privaten Schlüssel, um den Sitzungsschlüssel zu entschlüsseln.
(6) Der Webserver verwendet den Sitzungsschlüssel, um die Kommunikation mit dem Client zu verschlüsseln.

Fragen zum Vorstellungsgespräch für Java-Praktikanten 2023 – HTTP- und HTTPS-Protokolle

Verwandte Empfehlungen: Erste Schritte mit Java

Das obige ist der detaillierte Inhalt vonFragen zum Vorstellungsgespräch für Java-Praktikanten 2023 – HTTP- und HTTPS-Protokolle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen