Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wartezeit bei einem HTTP Request, Timeoutgefahr?

97 views
Skip to first unread message

Christoph Herrmann

unread,
Aug 11, 2009, 4:51:37 AM8/11/09
to
Hi,

ich wollte mal nachfragen wie lange der Browser auf die Antwort vom
Server bei einem HTTP Request wartet?

Gibt es dain den verschiedenen Browsern Einstellungen die einen Timeout
festlegen, gibt es da Defaultwerte oder kann die Antwort auch mal ein
paar Minuten auf sich warten lassen?

Hintergrund:
Ich mᅵchte mit JavaScript eine Pushingmᅵglichkeit. Die sinnvollste
Methode die ich gefunden habe wᅵre einen HTTP Request vom Browser her
aufzubauen und beim Server einfach so lange mit der Antwort zu warten,
bis es neue Informationen fᅵr den Browser gibt. Die neuen Daten dann zum
Browser schicken, verarbeiten und wieder einen neuen Request aufmachen
zum Warten auf die nᅵchste ᅵnderung.
Die Frage wᅵre dann natᅵrlich, geht das auch wenn die Antwort vom Server
mal 5 Minuten braucht, weil sich gerade nichts ᅵndert?

Oder kennt ihr sinnvollere Mᅵglichkeiten mit JavaScript ein Pushing
durchzufᅵhren?

--
Mit freundlichen Grᅵᅵen,
Christoph Herrmann

http://dragonprojects.de/

Christian Kirsch

unread,
Aug 11, 2009, 5:51:56 AM8/11/09
to
Christoph Herrmann schrieb:

> Oder kennt ihr sinnvollere Mᅵglichkeiten mit JavaScript ein Pushing
> durchzufᅵhren?
>

Gibt es nicht fᅵr genau sowas XHR, vulgo Ajax? Da "wartest" Du
asynchron, bis der Server schiebt.

Christoph Herrmann

unread,
Aug 11, 2009, 6:15:20 AM8/11/09
to
Christian Kirsch schrieb:

> Gibt es nicht fᅵr genau sowas XHR, vulgo Ajax? Da "wartest" Du
> asynchron, bis der Server schiebt.

Ja die Frage wᅵre aber gibt es ein Limit wie lange ich warten darf?

Nicht dass der Browser 5 Minuten warten mᅵsste bis der Server neue Daten
liefert aber der Request nach 30 Sekunden gekillt wird vom Browser.

Ich kenn das serverseitig bei PHP, da ist bei vielen Anbietern ein Limit
eingebaut, dass jedes Skript nach 30 Sekunden beendet wird. Ich weiᅵ nur
nicht ob die Browser auch solche Limits besitzen.

Matthias Reuter

unread,
Aug 11, 2009, 7:10:54 AM8/11/09
to
Christian Kirsch schrieb:

Genau das meinte der OP ja. Das HR in XHR steht ja fᅵr Http Request (und
da XHR nicht zwangslᅵufig XML impliziert ist es durchaus zulᅵssig, nur
Http-Request zu schreiben). Die Frage war, ob bei Verwendung eines XHR der
Browser den Request nach einer bestimmten Zeit abbricht, falls bis dahin
keine Antwort angekommen ist.

Ich habe keine Antwort auf die Frage. Mir ist kein Timeout bekannt, aber
das heiᅵt ja nichts. Probier's aus.

Matthias

Christoph Herrmann

unread,
Aug 11, 2009, 7:44:22 AM8/11/09
to
Matthias Reuter schrieb:

> Ich habe keine Antwort auf die Frage. Mir ist kein Timeout bekannt, aber
> das heiᅵt ja nichts. Probier's aus.

ausprobieren ist so eine Sache bei den vielen Browserversionen und ihre
Eigenarten und Einstellungsmᅵglichkeiten. ;)

Wichtig wᅵre ja nicht nur zu wissen ob es bei einem Browser einen
Timeout gibt, sondern auch welchen Defaultwert dieser hat bzw. ob der
Benutzer einen Einfluss darauf hat bzw. ob ich in diesen Fᅵllen den Wert
ermitteln kann und dem Server mitschicken, sodass er nach spᅵtestens max
- 1 Sekunde eine Antwort sendet auch wenn diese leer ist) und der
Browser eine neue Verbindung aufmacht zum Warten.

Dᅵrfte etwas dauern dies zu testen, daher wᅵre es natᅵrlich nᅵtzlich,
wenn jemand sowas schon mal getestet hatte. :)

Chris Seidel

unread,
Aug 11, 2009, 8:05:53 AM8/11/09
to
Christoph Herrmann wrote:

> ausprobieren ist so eine Sache bei den vielen Browserversionen und
> ihre Eigenarten und Einstellungsmᅵglichkeiten. ;)

Bei IE 8 kann man es einstellen:

http://msdn.microsoft.com/en-us/library/cc304105(VS.85).aspx

Ansonsten blockt der Aufruf so lange, bis der Server antwortet.

Matthias Reuter

unread,
Aug 11, 2009, 8:23:18 AM8/11/09
to
Chris Seidel schrieb:

Das bezieht sich aber auf das Skript. Der Nutzer kann so einen Timeout
nicht in seinem Browser einstelltn.

Im W3C-Draft (http://www.w3.org/TR/XMLHttpRequest/) steht unter "Not in
this Specification": "Timers have been suggested, perhaps an ontimeout
attribute;", also gibt es noch nichts normatives.

Matthias

Christoph Herrmann

unread,
Aug 11, 2009, 8:25:58 AM8/11/09
to
Matthias Reuter schrieb:

> Das bezieht sich aber auf das Skript. Der Nutzer kann so einen Timeout
> nicht in seinem Browser einstelltn.

Jep, solang ich als Entwickler es mitgeben kann ist es ja egal, da kann
ich ja einfach mitgeben, dass ich keinen Timeout haben will.

> Im W3C-Draft (http://www.w3.org/TR/XMLHttpRequest/) steht unter "Not in
> this Specification": "Timers have been suggested, perhaps an ontimeout
> attribute;", also gibt es noch nichts normatives.

Also kann es der Browserhersteller tun wie er will (naja, wie immer halt
*g*).

Thomas 'PointedEars' Lahn

unread,
Aug 11, 2009, 9:58:14 AM8/11/09
to
Christoph Herrmann wrote:
> ich wollte mal nachfragen wie lange der Browser auf die Antwort vom
> Server bei einem HTTP Request wartet?

Falls Du das wolltest, wäre das hier off-topic.

> Die Frage wäre dann natürlich, geht das auch wenn die Antwort vom Server
> mal 5 Minuten braucht, weil sich gerade nichts ändert?

Ja, das wäre die Frage. Die korrekte Antwort darauf wäre "Nein".

> Oder kennt ihr sinnvollere Möglichkeiten mit JavaScript ein Pushing
> durchzuführen?

Das haben wir hier bereits ausführlich diskutiert. Google ist Dein Freund.
[psf 6.1]

Bitte stell das nächste Mal bessere Fragen bzw. stell bitte Deine Fragen besser.

<http://www.tty1.net/smart-questions_de.html>


PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann

Christoph Herrmann

unread,
Aug 11, 2009, 10:26:11 AM8/11/09
to
Thomas 'PointedEars' Lahn schrieb:

> Christoph Herrmann wrote:
>> ich wollte mal nachfragen wie lange der Browser auf die Antwort vom
>> Server bei einem HTTP Request wartet?
>
> Falls Du das wolltest, wäre das hier off-topic.

Stimmt, ich habe vergessen zu schreiben "...HTTP Request mit
JavaScript...". Allgemein auch als Ajax bekannt.

Wie gut, dass es auch Leute gibt, die darauf kommen dass ich von
JavaScript rede, wenn ich in der Newsgroup für JavaScript poste. :)

>> Die Frage wäre dann natürlich, geht das auch wenn die Antwort vom Server
>> mal 5 Minuten braucht, weil sich gerade nichts ändert?
>
> Ja, das wäre die Frage. Die korrekte Antwort darauf wäre "Nein".

Und die darauf folgende Begründung? "Nein" man kann mit JavaScript
keinen HTTP Request durchführen dessen Antwort länger dauert, wenn ja wo
liegt da die Grenze wie lang die Antwort auf sich warten lassen darf?

> Das haben wir hier bereits ausführlich diskutiert. Google ist Dein Freund.
> [psf 6.1]
>
> Bitte stell das nächste Mal bessere Fragen bzw. stell bitte Deine Fragen besser.

Na wenn Google mein Freund wäre, wäre die korrekte Antwort eher "nein,
nicht ohne hässliche Verbiegungen". Aber könnte ja sein, dass die
Experten hier etwas mehr Ahnung haben und gezieltere Antworten geben
können. Zumindest ist es für mich ein logischer Schritt nach meinen
Recherchen entsprechend nachzufragen, statt einfach auf Google zu vertrauen.

Aber wenn spezielle Links hast, die eine Lösung für das Problem
anbieten, welche in den gängigen Browsern ohen größere Verränkungen (wie
dem Einsatz von Flash für Socketverbindungen oder IFrames)
funktionieren, wäre mir sogar geholfen. Oder ein "Nein", pushing mit
JavaScript funktioniert nicht, dafür muss man Flash/Java etc. einsetzen
würde natürlich auch hilfreich sein.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/

Thomas 'PointedEars' Lahn

unread,
Aug 11, 2009, 11:45:13 AM8/11/09
to
Christoph Herrmann wrote:
> Thomas 'PointedEars' Lahn schrieb:
>> Christoph Herrmann wrote:
>>> ich wollte mal nachfragen wie lange der Browser auf die Antwort vom
>>> Server bei einem HTTP Request wartet?
>> Falls Du das wolltest, wäre das hier off-topic.
>
> Stimmt, ich habe vergessen zu schreiben "...HTTP Request mit
> JavaScript...". Allgemein auch als Ajax bekannt.

Das ändert an der Korrektheit meiner Aussage gar nichts, denn es ist nicht
die Sprache, sondern das Objektmodell und damit letztlich wieder die
Laufzeitumgebung (der Browser), welche diese Funktionalität bereitstellt.

> Wie gut, dass es auch Leute gibt, die darauf kommen dass ich von
> JavaScript rede, wenn ich in der Newsgroup für JavaScript poste. :)

Viel zu lernen Du noch hast, junger Schüler.™

>>> Die Frage wäre dann natürlich, geht das auch wenn die Antwort vom Server
>>> mal 5 Minuten braucht, weil sich gerade nichts ändert?
>> Ja, das wäre die Frage. Die korrekte Antwort darauf wäre "Nein".
>
> Und die darauf folgende Begründung?

Ergibt sich daraus, dass das hier off-topic ist.

> "Nein" man kann mit JavaScript keinen HTTP Request durchführen dessen
> Antwort länger dauert,

Im allgemeinen ist das richtig. Es mag Einzelfälle geben, für die diese
Antwort nicht richtig ist. Diese herauszufinden hat aber nichts mit der
Programmiersprache zu tun (siehe oben).

> wenn ja wo liegt da die Grenze wie lang die Antwort auf sich warten lassen darf?

Dort wo sie der Hersteller des jeweiligen HTTP-Clients definiert.

>> Das haben wir hier bereits ausführlich diskutiert. Google ist Dein Freund.
>> [psf 6.1]
>>
>> Bitte stell das nächste Mal bessere Fragen bzw. stell bitte Deine Fragen besser.
>
> Na wenn Google mein Freund wäre, wäre die korrekte Antwort eher "nein,
> nicht ohne hässliche Verbiegungen". Aber könnte ja sein, dass die
> Experten hier etwas mehr Ahnung haben und gezieltere Antworten geben
> können. Zumindest ist es für mich ein logischer Schritt nach meinen
> Recherchen entsprechend nachzufragen, statt einfach auf Google zu vertrauen.

Ich meinte natürlich Google *Groups*, wo auch Diskussionen in dieser
Newsgroup (geführt von ebendiesen Experten, soweit anwendbar) archiviert werden.

Lies und beherzige bitte <http://dcljs.de/>.


PointedEars
--
> In [einem Popup] soll sich ein Link befinden, der im Hauptfenster
> ausgeführt werden soll. Habt ihr ne Ahnung, wie man das anstellt?
Links werden niemals ausgeführt, denn es sind keine Hunde, mit denen man
Gassi geht. (Georg Maaß in dcljs <aop009$ooab4$1...@ID-3551.news.dfncis.de>)

Thomas 'PointedEars' Lahn

unread,
Aug 11, 2009, 12:41:07 PM8/11/09
to
Matthias Reuter wrote:
> Im W3C-Draft (http://www.w3.org/TR/XMLHttpRequest/) steht unter "Not in
> this Specification": "Timers have been suggested, perhaps an ontimeout
> attribute;", also gibt es noch nichts normatives.

Mit einem Arbeitsdokument (Working Draft) zu argumentieren, zeigt, dass
derjenige, der dies tut, den W3C-Arbeitsprozess nicht verstanden hat. Lies
bitte den ersten Absatz des Abschnitts "Status of this document" dieses
Dokuments sinnentnehmend, und handle zukünftig entsprechend. Danke.

Jedoch: Selbst wenn es bereits etwas Normatives gäbe (etwa eine
W3C-Spezifikation im Status "RECommendation"), bestünde die wahrscheinliche
Möglichkeit, dass es mindestens eine nicht standardkonforme Implementation
gäbe. Das sagte also nichts über die Machbarkeit oder gar die
Sinnhaftigkeit eines solchen Ansatzes aus.


PointedEars
--
Man kann mit JavaScript eine große Zahl von Roundtrips eliminieren und
damit die Usability erhöhen. Allerdings übersteigen die Möglichkeiten
von JavaScript die zerebralen Fähigkeiten der meisten Webmaster bei
Weitem. -- Johann Burkard in dag°

Thomas 'PointedEars' Lahn

unread,
Aug 11, 2009, 12:45:36 PM8/11/09
to
Thomas 'PointedEars' Lahn wrote:
> Matthias Reuter wrote:
>> Im W3C-Draft (http://www.w3.org/TR/XMLHttpRequest/) steht unter "Not in
>> this Specification": "Timers have been suggested, perhaps an ontimeout
>> attribute;", also gibt es noch nichts normatives.
>
> Mit einem Arbeitsdokument (Working Draft) zu argumentieren, zeigt, dass
> derjenige, der dies tut, den W3C-Arbeitsprozess nicht verstanden hat. [...]

JFTR: s/zu/so zu/

Argumentationen mit WDs sind natürlich nicht per se unzulässig. (So wäre es
derzeit etwa Unfug, implementierte Definitionen in CSS 2.1 nicht für eine
Argumentation heranzuziehen, weil es derzeit nur eine Candidate
Recommendation ist, denn CSS 2.1 ist vom W3C definiert als Errata für CSS2.)


PointedEars
--
Wenn Dein Browser apply nicht kennt, dann mußt Du den Browser wechseln.
Man kann den Appendix nicht mit dem Bulldozer operieren und sich dann
über ausgefranzte Narben beklagen, obwohl bekannt ist, daß dafür
chirurgisches Besteck erforderlich ist. -- Georg Maaß in dcljs

Sergio Pereira

unread,
Aug 12, 2009, 5:41:55 PM8/12/09
to
Am 11.08.2009 10:51, schrieb Christoph Herrmann:
> ich wollte mal nachfragen wie lange der Browser auf die Antwort vom
> Server bei einem HTTP Request wartet?

Die Verbindung kann auf beiden Seiten beendet werden. Entweder
der Browser oder Server. In den meisten Fᅵllen wird es der
Server sein, da dieser meistens so konfiguriert ist mᅵglichst
Ressourcenschonend zu arbeiten.

> Hintergrund:
> Ich mᅵchte mit JavaScript eine Pushingmᅵglichkeit. Die sinnvollste
> Methode die ich gefunden habe wᅵre einen HTTP Request vom Browser her
> aufzubauen und beim Server einfach so lange mit der Antwort zu warten,
> bis es neue Informationen fᅵr den Browser gibt. Die neuen Daten dann zum
> Browser schicken, verarbeiten und wieder einen neuen Request aufmachen
> zum Warten auf die nᅵchste ᅵnderung.

Die gᅵngigste Methode (welche ich auch selber mal fᅵr ein
Projekt implementiert habe), ist leider Polling. Du frᅵgst in
einem bestimmten Raster (z.B. alle 10 Sekunden) den Server ob es
neue Daten gibt.

Ob neue Daten vorhanden sind oder nicht kannst du z.B. ᅵber den
HTTP Status Code signalisieren. Diesen kannst du direkt aus dem
XHR Objekt lesen. Eine einfachere Mᅵglichkeit wᅵre es, wenn der
Server direkt die Daten z.B. als JSON ᅵbertrᅵgt und der Status
dort zusᅵtzlich mit ᅵbertragen wird.

Gruᅵ
Sergio Pereira

0 new messages