|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #27814 Multiple small packets send for HTTP request
Submitted: 2004-03-31 14:48 UTC Modified: 2016-08-04 13:43 UTC
Avg. Score:4.1 ± 0.9
Reproduced:5 of 5 (100.0%)
Same Version:2 (40.0%)
Same OS:2 (40.0%)
From: Olaf at XCC dot TMFWeb dot NL Assigned: nikic (profile)
Status: Closed Package: Streams related
PHP Version: * OS: *
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
From: Olaf at XCC dot TMFWeb dot NL
New email:
PHP Version: OS:


 [2004-03-31 14:48 UTC] Olaf at XCC dot TMFWeb dot NL
This code sends two packets, one of 16 bytes and one of 17 bytes.

I guess this is caused by multiple calls to php_stream_write in
http_fopen_wrapper.c: php_stream_url_wrap_http_ex

Preparing the entire request in one buffer and sending it via one call should produce less packets (and be faster).

Reproduce code:
	echo strlen(file_get_contents(""));

Expected result:
One packet of 33 bytes.

Actual result:
Two packets.


Add a Patch

Pull Requests

Pull requests:

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2004-03-31 17:55 UTC]
You're correct; there is no write buffering for the http
 [2004-04-19 03:02 UTC] OvdSpek at LIACS dot NL
Will a buffer be added?
 [2004-04-19 06:38 UTC]
It's too late for the 5.0 branch (which is in final RC stage), but it's under consideration for the 5.1 branch.
 [2005-07-29 18:21 UTC]
Still considering after over a year or is this fixed by now?
(should this actually be a feature request?)

 [2008-03-07 00:01 UTC] a dot u dot savchuk at gmail dot com
Problem still exists.

tcpdump shows during execution test example
that 'GET ...' and 'Host ...' are sent by multiple packets:
000110 IP (tos 0x0, ttl  64, id 62602, offset 0, flags [DF], proto 6, length: 68) x.x.x.x.42720 > P [tcp
 sum ok] 1:17(16) ack 1 win 1460 <nop,nop,timestamp 339227911 3473916863>
.       FE.S....P.....,.D...........
.85.....GET / HTTP/1.0

101682 IP (tos 0x0, ttl  57, id 8438, offset 0, flags [DF], proto 6, length: 52) > x.x.x.x.42720: . [tcp
sum ok] 1:1(0) ack 17 win 33296 <nop,nop,timestamp 3473916965 339227911>
E..4 .@.9.sTE.S.
.       F.P...,.D........,z.....

000024 IP (tos 0x0, ttl  64, id 62603, offset 0, flags [DF], proto 6, length: 69) x.x.x.x.42720 > P [tcp
 sum ok] 17:34(17) ack 1 win 1460 <nop,nop,timestamp 339227937 3473916965>
.       FE.S....P.....,.D...........

013718 IP (tos 0x0, ttl  57, id 61609, offset 0, flags [DF], proto 6, length: 1500) > x.x.x.x.42720: . 1:
1449(1448) ack 34 win 33304 <nop,nop,timestamp 3473916977 339227937>
.       F.P...,.D........,_.....
...1.85!HTTP/1.1 200 OK
        ate: Fri, 07
 [2010-12-20 13:59 UTC]
-Package: Feature/Change Request +Package: Streams related -PHP Version: 5.1* +PHP Version: *
 [2012-07-30 10:10 UTC] olivier dot parmentier at cellfishmedia dot fr
using 5.2.17 and 5.3.3
if needed I can test on newer version but it doesn't seems anything was done 
about it.

the problem is still there.
it's a HUGE probleme when using IPSec VPN as the overhead can be tremendous with 
lots of small packets.

It's not a theoretical problem. for me It's a real one that affect the business 
with our partner.

anything new on the subject ? Anything I can do ?
 [2013-12-13 07:42 UTC]
-Status: Assigned +Status: Open
 [2013-12-13 07:43 UTC]
-Status: Assigned +Status: Open -Assigned To: wez +Assigned To:
 [2016-08-04 13:07 UTC] vhu at iki dot fi
Related to bug #53615
 [2016-08-04 13:43 UTC]
-Status: Open +Status: Closed -Assigned To: +Assigned To: nikic
PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Sat Dec 02 05:01:29 2023 UTC