suchen
HeimWeb-Frontendjs-TutorialDetaillierte Einführung in erholsames http

Detaillierte Einführung in erholsames http

Jul 24, 2017 pm 02:20 PM
httprestful讲解

HTTP (HyperText Transfer Protocol) ist eine Reihe von Regeln für die Kommunikation von Computern über das Netzwerk. Computerexperten haben HTTP entwickelt, um HTTP-Clients (z. B. Webbrowsern) die Anforderung von Informationen und Diensten von HTTP-Servern (Webservern) zu ermöglichen. Die aktuelle Version des HTTP-Protokolls ist ein zustandsloses Protokoll, und zustandslos bezieht sich auf das Web Es ist nicht erforderlich, eine dauerhafte Verbindung zwischen dem Browser und dem Webserver herzustellen. Das bedeutet, dass die Verbindung geschlossen wird und keine Informationen über die Verbindung gespeichert werden, wenn ein Client eine Anfrage an den Server stellt und der Webserver eine Antwort zurückgibt Server. Information.HTTP folgt dem Anforderungs-/Antwortmodell. Der Webbrowser sendet eine Anfrage an den Webserver, und der Webserver verarbeitet die Anfrage und gibt eine entsprechende Antwort zurück. Alle HTTP-Verbindungen sind als eine Reihe von Anfragen und Antworten strukturiert.
HTTP verwendet Inhaltstypen, was bedeutet, dass die vom Webserver an den Webbrowser zurückgegebenen Dateien verwandte Typen haben. Alle diese Typen basieren auf dem MIME Internet Mail Protocol, was bedeutet, dass der Webserver dem Webbrowser mitteilt, um welche Art von Datei es sich handelt, ob es sich um ein HTML-Dokument, ein GIF-Bild, eine Sounddatei oder eine eigenständige Anwendung handelt. Die meisten Webbrowser verfügen über eine Reihe konfigurierbarer Hilfsanwendungen, die dem Browser mitteilen, wie er mit verschiedenen vom Webserver gesendeten Inhaltstypen umgehen soll.
Der HTTP-Kommunikationsmechanismus besteht darin, dass während eines vollständigen HTTP-Kommunikationsprozesses die folgenden 7 Schritte zwischen dem Webbrowser und dem Webserver ausgeführt werden:
(1) Herstellen einer TCP-Verbindung
Bevor die HTTP-Arbeit beginnt, muss der Webbrowser zunächst eine Verbindung mit dem Webserver über das Netzwerk herstellen. Die Verbindung wird über TCP hergestellt. Dieses Protokoll und das IP-Protokoll bilden gemeinsam das Internet, die berühmte TCP/IP-Protokollfamilie , also das Internet Auch bekannt als TCP/IP-Netzwerk. HTTP ist ein Protokoll der höheren Schicht als TCP. Nach der Einrichtung des Protokolls der unteren Schicht kann daher im Allgemeinen zuerst die TCP-Verbindung hergestellt werden Nummer der TCP-Verbindung ist 80
(2) Der Webbrowser sendet einen Anforderungsbefehl an den Webserver
Sobald die TCP-Verbindung hergestellt ist, sendet der Webbrowser einen Anforderungsbefehl an den Webserver
Zum Beispiel: GET/sample/hello .jsp HTTP/1.1
(3) Der Webbrowser sendet Anforderungsheaderinformationen
Nachdem der Browser seinen Anforderungsbefehl gesendet hat Außerdem werden einige andere Informationen in Form von Header-Informationen an den Webserver gesendet. Anschließend sendet der Browser eine leere Zeile, um den Server darüber zu informieren, dass das Senden der Header-Informationen abgeschlossen ist.
(4) Antwort des Webservers
Nachdem der Client eine Anfrage an den Server gesendet hat, sendet der Server eine Antwort zurück an den Client,
HTTP/1.1 200 OK
Der erste Teil der Antwort ist die Protokollversionsnummer und der Antwortstatuscode
(5) Der Webserver sendet die Antwortheaderinformationen
Genau wie der Client Wenn der Benutzer zusammen mit der Anfrage Informationen über sich selbst sendet, sendet der Server auch zusammen mit der Antwort Daten über sich selbst und das angeforderte Dokument.
(6) Der Webserver sendet Daten an den Browser
Nachdem der Webserver die Header-Informationen an den Browser gesendet hat, sendet er eine leere Zeile, um anzuzeigen, dass die Header-Informationen gesendet wurden endet hier und sendet dann die vom Benutzer angeforderten tatsächlichen Daten in dem Format, das durch die Content-Type-Antwort-Header-Informationen beschrieben wird
(7) Der Webserver schließt die TCP-Verbindung
Unter Unter normalen Umständen sendet der Webserver eine Anforderung an den Browser. Nachdem der Server die Anforderungsdaten gesendet hat, schließt er die TCP-Verbindung. Wenn der Browser oder Server dann diese Codezeile in seine Header-Informationen einfügt
Verbindung:keep-alive
Nachdem die TCP-Verbindung gesendet wurde, bleibt sie geöffnet, sodass der Browser weiterhin Anfragen über dieselbe Verbindung senden kann. Das Aufrechterhalten der Verbindungen spart Zeit, die für den Aufbau einer neuen Verbindung für jede Anfrage erforderlich ist, und spart außerdem Netzwerkbandbreite.
 
HTTP-Anfrageformat
Wenn der Browser eine Anfrage an den Webserver stellt, übergibt er einen Datenblock an den Server, bei dem es sich um die Anfrageinformationen handelt Informationen bestehen aus drei Teilen:
l Anforderungsmethode URI-Protokoll/Version
l Anforderungsheader (Anforderungsheader)
l Anforderungstext
Folgendes ist eine HTTP-Anfrage. Beispiel:
GET/sample.jspHTTP/1.1
Accept:image/gif.image/jpeg,*/*
Accept-Language:zh- cn
Verbindung:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(kompatibel;MSIE5.01;Windows NT5.0)
Akzeptieren- Codierung:gzip,deflate
Benutzername=jinqiao&password=1234
(1) Anforderungsmethode URI-Protokoll/Version
request Die erste Zeile lautet „Methoden-URL-Vorschlag/Version“: GET/sample.jsp HTTP/1.1
Im obigen Code stellt „GET“ die Anforderungsmethode und „/sample.jsp“ dar der URI und „HTTP/1.1 stellt das Protokoll und die Protokollversion dar
.
Gemäß dem HTTP-Standard können HTTP-Anfragen mehrere Anfragemethoden verwenden. Beispiel: HTTP1.1 unterstützt 7 Anforderungsmethoden: GET, POST, HEAD, OPTIONS, PUT, DELETE und TARCE. In Internetanwendungen sind GET und POST die am häufigsten verwendeten Methoden.
Die URL gibt die Netzwerkressource, auf die zugegriffen werden soll, vollständig an und gibt normalerweise nur ein relatives Verzeichnis zum Stammverzeichnis des Servers an. Sie beginnt also immer mit „/“ und schließlich deklariert die Protokollversion den Kommunikationsprozess Version über HTTP.
(2) Anforderungsheader
Der Anforderungsheader enthält viele nützliche Informationen über die Clientumgebung und den Anforderungstext. Beispielsweise kann der Anforderungsheader die vom Browser verwendete Sprache, die Länge des Anforderungstexts usw. angeben.
Accept:image/gif.image/jpeg.*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host :localhost
User-Agent:Mozila/4.0(kompatibel:MSIE5.01:Windows NT5.0)
Accept-Encoding:gzip,deflate.
(3) Anforderungstext
Zwischen dem Anforderungsheader und dem Anforderungstext befindet sich eine Leerzeile. Diese Zeile ist sehr wichtig. Sie zeigt an, dass der Anforderungsheader beendet ist, und was folgt, ist der Anforderungstext. Der Anfragetext kann vom Kunden übermittelte Abfragezeichenfolgeninformationen enthalten:
Benutzername=jinqiao&password=1234
Im obigen Beispiel der HTTP-Anfrage enthält der Anfragetext nur eine Zeile mit Inhalt. Natürlich kann der HTTP-Anforderungstext in tatsächlichen Anwendungen mehr Inhalt enthalten.
HTTP-Anfragemethode Ich werde hier nur die GET-Methode und die POST-Methode besprechen
l    GET-Methode
Die GET-Methode ist die Standard-HTTP-Anfragemethode. Wir verwenden die GET-Methode Um jeden Tag Formulare zu senden, werden die mit der GET-Methode übermittelten Formulardaten jedoch nur kurz codiert und als Teil der URL an den Webserver gesendet Daten bergen Sicherheitsrisiken. Zum Beispiel
Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB
Aus der obigen URL-Anfrage ist es einfach Erkennen Sie den Inhalt von Formulareinsendungen. (Was folgt?) Da die von der GET-Methode übermittelten Daten Teil der URL-Anfrage sind, darf die Menge der übermittelten Daten außerdem nicht zu groß sein
l     POST-Methode
Die POST-Methode ist eine Alternative zur GET-Methode. Sie sendet hauptsächlich Formulardaten an den Webserver, insbesondere große Datenmengen. Die POST-Methode überwindet einige der Mängel der GET-Methode. Bei der Übermittlung von Formulardaten über die POST-Methode werden die Daten nicht als Teil der URL-Anfrage, sondern als Standarddaten an den Webserver übertragen. Dadurch werden die Mängel der GET-Methode behoben, bei der die Informationen nicht vertraulich behandelt werden können und das Datenvolumen groß ist zu klein. Aus Sicherheitsgründen und aus Gründen der Privatsphäre der Benutzer wird daher bei der Übermittlung von Formularen normalerweise die POST-Methode verwendet.
Wenn der Benutzer aus Programmiersicht Daten über die GET-Methode übermittelt, werden die Daten in der Umgebungsvariablen QUERY_STRING gespeichert, während die von der POST-Methode übermittelten Daten aus dem Standardeingabestream abgerufen werden können.
Die HTTP-Antwort ähnelt der HTTP-Anfrage und besteht ebenfalls aus drei Teilen, nämlich:
l Beschreibung des Protokollstatusversionscodes
l Antwortheader (Antwortheader)
l Antworttext
Das Folgende ist ein Beispiel für eine HTTP-Antwort:
HTTP/1.1 200 OK
Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:23:42 GMT
Content-Length:112
 
<html><head>
<title>HTTP响应示例<title>
</head>
<body>
Hello HTTP!
</body>
</html>协议状态代码描述HTTP响应的第一行类似于HTTP请求的第一行,它表示通信所用的协议是HTTP1.1服务器已经成功的处理了客户端发出的请求(200表示成功):
HTTP/1.1 200 OK响应头(Response Header)响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等:
   Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:13:33 GMT
Content-Type:text/html
Last-Moified:Mon,6 Oct 2003 13:23:42 GMT
Content-Length:112
 响应正文响应正文就是服务器返回的HTML页面:
  <html><head>
<title>HTTP响应示例<title>
</head>
<body>
Hello HTTP!
</body>
</html>
Zwischen dem Antwortheader und der Körper Sie müssen auch durch Leerzeilen getrennt werden. ​
l​​ HTTP-Antwortcode
​ Der HTTP-Antwortcode wird auch Statuscode genannt, der den Status des Webservers widerspiegelt, der HTTP-Anfragen verarbeitet. Der HTTP-Antwortcode besteht aus 3 Ziffern. Die erste Ziffer definiert die Art des Antwortcodes:
1XX – Information (Information), die angibt, dass eine Webbrowser-Anfrage empfangen wurde und weiterverarbeitet wird
2XX-Erfolgreich, was darauf hinweist, dass die Benutzeranfrage korrekt empfangen, verstanden und verarbeitet wurde. Beispiel: 200 OK
3XX-Weiterleitung, was darauf hinweist, dass die Anfrage nicht erfolgreich war und der Kunde weitere Maßnahmen ergreifen muss.
4XX-Client-Fehler (Client-Fehler), was darauf hinweist, dass die vom Client übermittelte Anfrage einen Fehler aufweist. Beispiel: 404 NOT
Gefunden, was bedeutet, dass das Dokument, auf das in der Anfrage verwiesen wird, fehlerhaft ist nicht vorhanden.
5XX-Serverfehler (Serverfehler) bedeutet, dass der Server die Verarbeitung der Anfrage nicht abschließen kann: z. B. 500
Für uns Webentwickler kann die Beherrschung von HTTP-Antwortcodes dazu beitragen, das Debuggen von Webanwendungen zu verbessern Effizienz und Genauigkeit.
Sichere Verbindung
Eine der häufigsten Anwendungen von Webanwendungen ist der E-Commerce. Webserverseitige Programme können verwendet werden, um Menschen den Online-Einkauf zu ermöglichen. Es muss darauf hingewiesen werden, dass das Versenden von Informationen über das Internet standardmäßig nicht sicher ist . Wenn jemand passiert: Wie schlimm wäre es, wenn eine Nachricht, die Sie an einen Freund gesendet haben, abgefangen würde und er sie öffnen könnte und sich vorstellen könnte, dass sie Ihre Kreditkartennummer enthält. Glücklicherweise verfügen viele Webserver und Webbrowser über die Möglichkeit, sichere Verbindungen herzustellen. , damit sie sicher kommunizieren können.
Der gebräuchlichste Standard für die Bereitstellung sicherer Verbindungen über das Internet ist das Secure Sockets Layer (SSl)-Protokoll. Das SSL-Protokoll ist ein Protokoll der Anwendungsschicht (wie HTTP), das zum sicheren Austausch von Daten im Web verwendet wird. SSL verwendet ein Verschlüsselungssystem mit öffentlichen Schlüsseln. Im Wesentlichen bedeutet dies, dass jede Partei im Unternehmen über einen öffentlichen und einen privaten Schlüssel verfügt. Wenn eine Partei mit dem öffentlichen Schlüssel der anderen Partei verschlüsselt, kann nur die Person mit dem passenden Schlüssel ihn entschlüsseln. Einfach ausgedrückt bietet die Verschlüsselung mit öffentlichen Schlüsseln eine sichere Methode zum Austausch von Daten zwischen zwei Parteien. Nachdem die SSL-Verbindung hergestellt wurde, tauschen sowohl der Client als auch der Server öffentliche Schlüssel aus und überprüfen sie, bevor sie geschäftlichen Kontakt aufnehmen. Daten können sicher ausgetauscht werden.
  • GET
    Fordern Sie URI über an, um die Ressource zu erhalten

  • POST,
    Wird zum Hinzufügen neuer Inhalte verwendet

  • PUT
    Wird zum Ändern eines bestimmten Inhalts verwendet

  • LÖSCHEN,
    Einen bestimmten Inhalt löschen

  • CONNECT,
    wird für die Proxy-Übertragung verwendet, z. B. mit SSL

  • OPTIONS
    Fragen Sie, welche Methoden können ausgeführt werden

  • PATCH,
    Partielle Dokumentänderungen

  • PROPFIND, (wedav)
    Eigenschaften anzeigen

  • PROPPATCH, (wedav)
    Eigenschaften festlegen

  • MKCOL, (wedav)
    Sammlung (Ordner) erstellen

  • KOPIEREN, (wedav)
    KOPIEREN

  • VERSCHIEBEN, (wedav)
    VERSCHIEBEN

  • SPERREN, (wedav )
    SPERREN

  • UNLOCK (wedav)
    UNLOCK

  • TRACE
    für Ferndiagnoseserver

  • HEAD
    ähnelt GET, gibt jedoch keine Körperinformationen zurück. Es wird verwendet, um zu überprüfen, ob das Objekt vorhanden ist, und um die Metadaten des Objekts abzurufen >

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in erholsames http. 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
Verständnis der JavaScript -Engine: ImplementierungsdetailsVerständnis der JavaScript -Engine: ImplementierungsdetailsApr 17, 2025 am 12:05 AM

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python vs. JavaScript: Die Lernkurve und BenutzerfreundlichkeitPython vs. JavaScript: Die Lernkurve und BenutzerfreundlichkeitApr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Python gegen JavaScript: Community, Bibliotheken und RessourcenPython gegen JavaScript: Community, Bibliotheken und RessourcenApr 15, 2025 am 12:16 AM

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Von C/C nach JavaScript: Wie alles funktioniertVon C/C nach JavaScript: Wie alles funktioniertApr 14, 2025 am 12:05 AM

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

JavaScript -Engines: Implementierungen vergleichenJavaScript -Engines: Implementierungen vergleichenApr 13, 2025 am 12:05 AM

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Jenseits des Browsers: JavaScript in der realen WeltJenseits des Browsers: JavaScript in der realen WeltApr 12, 2025 am 12:06 AM

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Apr 11, 2025 am 08:23 AM

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)Apr 11, 2025 am 08:22 AM

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft