Here are 2 snippets that you can try to see the effect.
hello.pl
#!/usr/bin/perl -w use CGI::Carp qw(fatalsToBrowser); use strict; use warnings; use CGI qw(:standard ); my $http_body_length = 0; my $http_body = "<html>\n<head>\n</head>\n<body>\n<p>Hello World</p>\n +</body>\n</html>\n"; { use bytes; $http_body_length = length($http_body); } print header(-type => 'text/html', -content_length => $http_body_length ); print $http_body;
You will see that hello.pl sends keep-alives as expected as the headers are parsed by Apache and the connection remains open
nph-hello.pl
#!/usr/bin/perl -w use CGI::Carp qw(fatalsToBrowser); use strict; use warnings; use CGI qw(:standard ); my $http_body_length = 0; my $http_body = "<html>\n<head>\n</head>\n<body>\n<p>Hello World</p>\n +</body>\n</html>\n"; { use bytes; $http_body_length = length($http_body); } print header(-type => 'text/html', -content_length => $http_body_length, -nph => 1); print $http_body;
You will see that nph-hello.pl does not send keep-alives as the headers are not parsed by Apache and the connection closes upon exit
I have tried adding the 'Connection' and 'Keep-Alive' headers to nph-hello.pl and of course they are sent but Apache does not keep the connection open. Example:
print header(-type => 'text/html', -content_length => $http_body_length, -connection => 'Keep-Alive', -nph => 1);
This is what I am trying to accomplish.
In reply to Re^4: NPH and Connection: Keep-Alive
by gfairweather
in thread NPH and Connection: Keep-Alive
by gfairweather
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |