Keep-alive

493 views
Skip to first unread message

ShellShock

unread,
Nov 18, 2009, 7:45:28 AM11/18/09
to Fiddler
Can I use Fiddler to detect whether Keep-alive is being set correctly
in the HTTP header? I am trying to debug a problem that requires keep-
alive to be false when calling a web service, but my HTTP header looks
like this:

Connection: Keep-Alive

I have unticked "Reuse client connections" and "Reuse connections to
servers" in the Fiddler connection options. Because I am still seeing
"Connection: Keep-Alive" in the HTTP header, does this mean that my
client code is not correctly disabling keep alives, or is Fiddler
still enabling keep-alives (overriding my code)?

EricLaw

unread,
Nov 18, 2009, 7:35:43 PM11/18/09
to Fiddler
You see that header in the *request* headers, not the *response*
headers, right?

Fiddler does not add keep-alive headers. If you see it in the HTTP
headers, it was put there by your application. You should not untick
the Fiddler Options; they don't /override/ what the client asks for.

How are you trying to disable Keep-Alive? HTTP/1.1 has keep-alive
enabled by default, even if a header isn't present.

-Eric

ShellShock

unread,
Nov 19, 2009, 6:46:26 AM11/19/09
to Fiddler
Yes the header is in the request. This is a HTTP 1.0 request, and I am
using .Net 1.1,

System.Net.HttpWebRequest.KeepAlive = false;

to switch off keep-alive. Regardless of whether this boolean is true
or false, Fiddler still shows Keep-Alive in the request header,
whereas e.g., Charles, does not. This is the latest version of Fiddler
downloaded yesterday.

My further reading (e.g., http://www.io.com/~maus/HttpKeepAlive.html)
suggests keep-alive is not officially part of HTTP 1.0, so I am
investigating changing over to HTTP 1.1.

Thanks
> > still enabling keep-alives (overriding my code)?- Hide quoted text -
>
> - Show quoted text -

EricLaw

unread,
Nov 19, 2009, 1:36:36 PM11/19/09
to Fiddler
While it isn't a part of the spec, Keep-Alive only exists to enable
HTTP/1.0 connections to be reused. In HTTP/1.1, connection reuse is
enabled, by-design.

You absolutely shouldn't be getting different results between Charles
and Fiddler. Can you email me (Help > Send Feedback) a screenshot of
both Fiddler and Charles when examining this request?

Thanks,
Eric

On Nov 19, 3:46 am, ShellShock <adr...@shellshock.demon.co.uk> wrote:
> Yes the header is in the request. This is a HTTP 1.0 request, and I am
> using .Net 1.1,
>
> System.Net.HttpWebRequest.KeepAlive = false;
>
> to switch off keep-alive. Regardless of whether this boolean is true
> or false, Fiddler still shows Keep-Alive in the request header,
> whereas e.g., Charles, does not. This is the latest version of Fiddler
> downloaded yesterday.
>
> My further reading (e.g.,http://www.io.com/~maus/HttpKeepAlive.html)
> suggests keep-alive is not officially part of HTTP 1.0, so I am
> investigating changing over to HTTP 1.1.
>
> Thanks
>
> On Nov 19, 12:35 am, EricLaw <bay...@gmail.com> wrote:
>
>
>
> > You see that header in the *request* headers, not the *response*
> > headers, right?
>
> > Fiddler does not add keep-alive headers. If you see it in the HTTP
> > headers, it was put there by your application.  You should not untick
> > the Fiddler Options; they don't /override/ what the client asks for.
>
> > How are you trying to disable Keep-Alive?  HTTP/1.1 has keep-alive
> > enabled by default, even if a header isn't present.
>
> > -Eric
>
> > On Nov 18, 4:45 am, ShellShock <adr...@shellshock.demon.co.uk> wrote:
>
> > > Can I use Fiddler to detect whether Keep-alive is being set correctly
> > > in the HTTP header? I am trying to debug a problem that requires keep-
> > > alive to be false when calling a web service, but my HTTP header looks
> > > like this:
>
> > > Connection: Keep-Alive
>
> > > I have unticked "Reuse client connections" and "Reuse connections to
> > > servers" in the Fiddler connection options. Because I am still seeing
> > > "Connection: Keep-Alive" in the HTTP header, does this mean that my
> > > client code is not correctly disabling keep alives, or is Fiddler
> > > still enabling keep-alives (overriding my code)?- Hide quoted text -
>
> > - Show quoted text -- Hide quoted text -
Reply all
Reply to author
Forward
0 new messages