Was passiert, wenn wir die Aktualisierung einer web-Seite?
Ich hatte gehofft, wenn jemand eine grundlegende Frage beantworten, die ich bezüglich dem aktualisieren der web-Seite.
Ich habe eine dotnet-Formular, wo ein user füllt ein paar details und die Schaltfläche zum senden klickt. Der code hinter der Seite hat über 20 Funktionen ausführen.
Mittlerweile davon aus, wenn der Benutzer auf den submit-button der web-Seite führt die 5. Funktion und in der Zwischenzeit der Benutzer aktualisiert seine browser-Software verhindern;
Was passieren wird, zu der bereits die Verarbeitung Seite?
Wird die Seite sofort beendet werden?
oder wird es ablaufen, bis es ausgeführt, die 20th-Funktion?
oder wird die Seite ausgeführt werden zerstört und eine neue Seite erstellt und an Kunden?
Dank für Eure Antworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einmal eine Anfrage an den server vom browser aus die Seite bearbeitet wird. Selbst wenn der Nutzer kündigt oder Stoppt der Anfrage, der server weiterhin die Anforderung zu verarbeiten. Wenn der Benutzer neu geladen/aktualisiert die Seite, es ist eine weitere Anforderung, der ausgeführt wird, parallel mit der ersten Anfrage.
Sogar im Fall von PHP, der server ist nicht aktiv prüfen, ob die Benutzer abgebrochen wurde. die Verbindung. Der server weiß nur, es ist schon abgebrochen, wenn er versucht, die Ergebnisse der Anfrage.
Das internet ist eine nicht verbundene Umgebung. Der server weiß nichts über den browser. Das einzige, was der server weiß, ist ein ersuchen gestellt worden ist, und es muss Antrag ausfüllen.
Wenn eine Seite aktualisiert wird, die auf den browser, der browser-Aufrufe auf dem server eine neue Kopie der Seite und seine Komponenten (CSS, JS, und so weiter... wenn nicht zwischengespeichert).
Wenn die Seite ein POST-Aufruf, wird der browser die POST-Daten wieder.
Seite vollständig geladen:
Wenn vollständig geladen, die Ausführung auf der server-Seite sollte abgeschlossen sein (es sei denn, Sie führen zusätzliche Prozesse, oder im hintergrund laufen code nicht senden mehr Daten an den client).
Seite laden auf halbem Weg durch:
Die Verbindung für die aktuelle Seite werden sofort getrennt - wenn die Seite noch geladen wird,. Es kommt auf den server an, ob die Seite weiter ausgeführt wird, oder beenden. Zum Beispiel in PHP können wir ignore_user_abort (), um das Skript ausgeführt, selbst wenn die Seite beendet war auf halbem Weg durch das laden.
Wenn dein server ASP, und klicken Sie auf eine ASP-button, wird die Aktion (Methode) der Taste erfolgt vollständig auf der server-Seite, auch wenn der Benutzer aktualisiert auf halbem Weg durch. Das ist, wie ASP.NET Rahmen ist fertig.
Einfach, die Seite, die der user zu sehen ist, ist verloren, es sei denn in der Sitzung, Sie können nicht es wieder abholen. Aber der server weiß nicht, dass der Benutzer wurde getrennt, so dass die Anwendung weiterhin ausgeführt werden, es sei denn, es ist eine session /timeout auf die Anwendung, auch dann wäre es seltsam, wenn die Sitzung nicht abgeschlossen.
Hoffe, das hilft.
RE
Die Ausführung von code wird weiter bis zum Ende.
Glaube ich eine web-Seite (auf der client-Seite natürlich) wird ausgeführt in einem einzigen thread. Wenn Ihr "onsubmit", ruft ein trail von Funktionen, das ist bis zu Ihnen, aber irgendwann wirst du (vielleicht) willst submit() form.
In anderen Worten (in diesem Fall), alle die Funktion trail wird fortgesetzt, bis das Formular gesendet wird.
Auf der anderen Seite, wenn Sie drücken Sie den "reload" - Schaltfläche, wird die Ausführung beendet.
alle funcs ausgeführt werden, auch müssen Sie aktualisieren, können Sie ein test. aber in .net, dass es eine Funktion, um zu überprüfen, ob der client noch verbunden mit server (für das erste reichen, bedeuten, kann der server überprüfen, ob der client wartet auf die Antwort jederzeit, nachdem Sie submit)