[development] PHP 5 > aggregator.module rewrite to XML API?

Khalid Baheyeldin kb at 2bits.com
Wed Jun 20 00:43:56 UTC 2007


On 6/19/07, Ashraf Amayreh <mistknight at gmail.com> wrote:
>
> I use CURL rather than the drupal function because drupal uses fsockets,
> fsockets are known to have issues when retrieving from HTTP 1.0 as opposed
> to HTTP 1.1, this is solved by sending specific headers, these headers are
> ignored on some Linux systems and that may increase the response time by as
> much as 5x what CURL would take, normally they would be similar in speed
> although CURL is slightly faster. In specific situations like firewall
> presence or failure in DNS resolution fsockets may stall for a few minutes.
> I read about these issues in a number of articles and I also found them
> listed in the comments under fsocketopen. CURL just saved me the hassle and
> probably tens of issues :-)




http://www.php.net/manual/en/function.fsockopen.php
>
> Finally, with CURL I can support both HTTP and FTP URLs weather they are
> authenticated with a username and password or not. Only con to using CURL is
> that it has to be installed on the server machine and enabled in PHP
> (weather as a module or compiled).


Ashraf,

>From the comments at the PHP fsockopen page:
===
EDITORS NOTE: HTTP/1.1 uses persistent connection causing this delay. Use
"Connection: close" header to disable it.
===
and
===
Just a note to everyone who is using fsockopen and fread / fgets for a HTTP
connection.

Unless you specify "Connection: Close" in your headers you will need to wait
for the socket to time out before feof($streamPointer) to return true.

This has wasted 2 days of my time, grr!
===

The first example in the page, before the comments, also does the close for
this reason.

This is detailed in the RFC too
http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.1

Are you saying the header Connection: Close is ignored?

Any reason why Drupal should not use HTTP/1.1?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20070619/21b6f154/attachment-0001.htm 


More information about the development mailing list