RFC 7540 und RFC 7541 enthalten die vollständige Spezifikation des HTTP/2-Protokolls. Bei der Implementierung eines neuen HTTP/2-Clients für die sgcWebSockets-Bibliothek ist es wichtig, externe Tools zu nutzen, um zu prüfen, ob die Client-Komponente erwartungsgemäß funktioniert. Eines dieser Online-Tools ist gehostet unter:
Diese Seite bietet einige Tests für HTTP/2-Clients und war während der HTTP/2-Implementierung sehr hilfreich. Daher habe ich einen Delphi-HTTP2-Client gebaut, um zu prüfen, ob die Tests sauber bestanden werden.
HTTP/2-Tests
Der Golang-Server stellt der HTTP/2-Community eine Liste von URLs zur Verfügung, um HTTP/2-Client-Implementierungen zu testen:
- GET
/reqinfogibt die empfangene Anfrage + Header aus - GET
/clockstreamstreamt jede Sekunde die aktuelle Uhrzeit - GET
/serverpushzeigt eine Seite mit Server-Push - GET
/file/gopher.pngfür eine kleine Datei (mit If-Modified-Since, Content-Range usw.) - GET
/file/go.src.tar.gzfür eine größere Datei (~10 MB) - GET
/redirectleitet zurück zu / (dieser Seite) - GET
/goroutineszeigt alle aktiven Goroutines dieses Servers - PUT etwas an
/crc32, um die Anzahl der Bytes und seine CRC-32 zu erhalten - PUT etwas an
/ECHO, und es wird in Großbuchstaben zurückgestreamt
Unten findest du einen Screenshot der sgcWebSockets-Client-HTTP2-Demo beim Ausführen des Clock-Stream-Beispiels.

