Ein Timeout ist eine vom Client selbst festgelegte Frist. Ohne ein solches Timeout kann eine Anfrage an einen Server, der nie antwortet, eine Verbindung, einen Thread und die Geduld des Benutzers unbegrenzt blockieren. Timeouts bestehen üblicherweise aus mehreren Komponenten: der Wartezeit für den Verbindungsaufbau, der Wartezeit auf das erste Byte und der maximalen Dauer des gesamten Datenaustauschs.
Wenn die Frist abläuft, bricht der Client ab und meldet einen Fehler – im Browser über den AbortController, in den meisten Bibliotheken als Timeout-Ausnahme. Jeder Zwischenschritt hat seine eigene Timeout-Ausnahme: Browser, CDN, Load Balancer, Gateway und Anwendung. Ist ein inneres Timeout länger als ein äußeres, gibt die äußere Schicht zuerst auf, und die Arbeit innerhalb der Schicht wird ohne Wartezeit fortgesetzt.
Es ist nicht zu einer Anfrage mit Zeitüberschreitung gekommen. Der Server könnte die Anfrage empfangen und bearbeitet haben, nachdem der Client die Kommunikation eingestellt hatte; möglicherweise wurde die Bestellung durch einen POST-Request mit Zeitüberschreitung ausgelöst. Behandeln Sie eine Zeitüberschreitung als "unknown outcome" und stellen Sie sicher, dass Schreibvorgänge mithilfe eines Idempotenzschlüssels wiederholt werden können.
GET /protocol/v1/gateway-timeout wartet etwa drei Sekunden, bevor es mit 504 antwortet, und GET /pizza/v1/oven/preheat benötigt etwa drei Sekunden, bis es erfolgreich ist – setzen Sie ein Client-Timeout von zwei Sekunden und vergleichen Sie, was die einzelnen Befehle tun.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert