HTTP/2
HTTP/2 is een evolutie van het HTTP 1.1-protocol; het probeert
efficiënter te zijn bij het gebruik van netwerken. De semantiek is hetzelfde, dus het is
ontworpen om compatibel te zijn met oude protocollen.
HTTP 1.1 Limitations
HTTP 1.1 is beperkt tot het verwerken van één verzoek per verbinding, dus meestal
gebruiken clients meer dan één verbinding om bestanden van servers op te vragen. Maar
dit roept een probleem op, want wanneer er te veel open TCP-verbindingen zijn,
is er een race tussen clients om de serverresources te gebruiken en wordt de prestatie
steeds lager naarmate er meer clients verbinding maken met servers.
Hoofdfuncties
- HTTP/2 is een binair protocol (vergeet niet
dat HTTP 1.1 een tekstprotocol is).
- HTTP/2 werkt via TLS en ALPN.
- Het is gemultiplext (stelt u in staat meer
dan één verzoek te verzenden via één TCP-verbinding).
- De server kan responsen naar clients pushen.
- Vermindert round-trip-tijden, zodat clients
sneller kunnen laden.
HTTP/2 introduceert andere verbeteringen, meer details: RFC7540.
HTTP/2 requires our custom Indy version because
it requires ALPN protocol.
Componenten
- TsgcHTTP2Client: clientcomponent dat het HTTP/2-protocol volledig ondersteunt
(sgcWebSockets 100% Pascal-code, zonder externe bibliotheken).
- TsgcWebSocketHTTPServer: servercomponent dat het HTTP/2-protocol volledig ondersteunt (sgcWebSockets 100% Pascal-code, zonder externe bibliotheken). Standaard is HTTP/2 uitgeschakeld; u kunt het inschakelen via de eigenschap HTTPOptions door Enable op true in te stellen.
- TsgcWebSocketServer_HTTPAPI:
servercomponent dat het HTTP/2-protocol ondersteunt (Microsoft-implementatie
en vereist Windows 2016+ of Windows 10+).
- DataSnap
Servers: datasnap-server kan ook het HTTP/2-protocol ondersteunen.
API's