Article View: de.comm.software.browser.internet-explorer
Article #1Re: Website Performance
From: Reini Urban
Date: Thu, 30 Sep 2004 13:04
Date: Thu, 30 Sep 2004 13:04
46 lines
3280 bytes
3280 bytes
Hi rich,
Richard Fuchs schrieb:
> Oliver Lindinger wrote:
>
>> Was ist der Unterschied einer Connection mit "keep-alive" zu einer
>> "close"-connection. Welche Vor- bzw. Nachteile hat man damit?
>
> urspr�nglich war das http-protokoll so konzipiert, da� ein client
> (browser) eine connection zum server aufbaut, einen request absetzt, der
> server dann die antwort zur�ckschickt und die connection dann zugemacht
> wird. also ein request pro connection, bzw eine connection pro request.
>
> neuere revisionen des http-protokolls beinhalten das keep-alive
> protokoll. wenn sich client und server dar�ber einig sind, dies zu
> verwenden (per "connection: keep-alive") header, wird die connection
> nach einem request offengehalten und kann f�r einen weiteren request an
> den selben server verwendet werden.
>
> voraussetzung daf�r ist aber, da� der server im vorhinein wei�, wie gro�
> die reply ausfallen wird. diese information mu� n�mlich im header
> angegeben werden, sonst wei� der client/browser nicht, wann er die
> gesamten daten gelesen hat und einen weiteren request absetzen kann.
> cgis geben diese information oft nicht an, deswegen hat der server dann
> keine andere wahl, als die connection immer zu schliessen.
auch cgi k�nnen header setzen :)
sie k�nnen sich nur schlecht mit dem server unterhalten.
weiter siehe unten.
> soviel mal als prinzipielle erkl�rung dazu. keine ahnung, wie php das
> als cgi handhabt, aber es w�re zumindest mal ein anhaltspunkt. wenn du
> es genau wissen willst: installier dir einen sniffer und schau genau
> mit, wie die browser ihre requests machen.
bei PHP nimmt man entweder den ob_cache handler ("OB" - Output
buffering), ob_start(), und bevor man die seite zur�ckschickt, berechnet
man die gr��e in byte, und setzt den length header.
header("Content-Length: %d", ob_get_length());
ob_end_flush();
oder man wei� die gr��e in byte schon vorher :)
header("Content-Length: %d", strlen("$htmlpage"));
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
Technical Details
Message-ID:
<415C047B.6020305@x-ray.at>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news.glorb.com!newsfeed.utanet.at!newscore.univie.ac.at!e-post.inode.at!not-for-mailReferences:
<4148d8bf$0$25116$3b214f66@aconews.univie.ac.at> <cialv1$ure$2@inti.inka.de> <414996d9$0$11614$3b214f66@aconews.univie.ac.at> <41499e9d$1@e-post.inode.at>Show Full Headers
Complete Article Headers
X-Google-Thread: 16e5eb,4c6691b3811fabdf X-Google-Thread: f5443,4c6691b3811fabdf X-Google-Attributes: gid16e5eb,gidf5443,public X-Google-Language: GERMAN,ASCII Message-ID: <415C047B.6020305@x-ray.at> Date: Thu, 30 Sep 2004 15:04:59 +0200 From: Reini Urban <rurban@x-ray.at> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:1.8a3) Gecko/20040817 X-Accept-Language: de, en MIME-Version: 1.0 Newsgroups: de.comm.software.browser.internet-explorer,at.internet.provider To: Richard Fuchs <r.fuchs@inode.at> Subject: Re: Website Performance References: <4148d8bf$0$25116$3b214f66@aconews.univie.ac.at> <cialv1$ure$2@inti.inka.de> <414996d9$0$11614$3b214f66@aconews.univie.ac.at> <41499e9d$1@e-post.inode.at> In-Reply-To: <41499e9d$1@e-post.inode.at> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit NNTP-Posting-Host: 62-99-252-218.c-gmitte.xdsl-line.inode.at X-Trace: e-post.inode.at 1096549503 62.99.252.218 (30 Sep 2004 15:05:03 +0200) Lines: 46 Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news.glorb.com!newsfeed.utanet.at!newscore.univie.ac.at!e-post.inode.at!not-for-mail