This is what TCP should look like. When an application, such as polipo, send
to a tcp connection, the data is added to the TCP connection's outgoing
buffer. The buffer is packaged to TCP packets and sent out by the kernel
TCP/IP stack. The polipo or any user land program have no control of how the
data is packaged into TCP packets. The kernel TCP/IP stack is responsive for
that.

On a fast machine, lightly loaded, the kernel can come around quickly, so
each write to the tcp got packaged into one tcp packet, but you can't rely
on this kind of behavior. If a single write is bigger than 1500, the typical
ethernet frame. The data has to be packaged into more than one tcp packet,
because this the biggest the kernel and pack for the ethernet device. If the
kernel is busy, when it come around to serve your tcp connection, the
outgoing buffer may already has data from more then one write from an
application (such as polipo), the kernel can legally package the data in
anyway it like, one packet or multi-packet. The boundary of the tcp packet
may not match the boundary of what the application write. TCP is a stream,
so that packet is only important to the kernel, application should not
concern about the packets. The application should think the data come and go
like tap water, not a line of water bottles of various size

Would you mind like us know what web server you are using?

Ming

On Tue, Oct 20, 2009 at 5:23 AM, nidhi sachdev <[email protected]>wrote:

>  There is another important observation and I have come across is that each
> time any pipelined requests are made (in the above scenarios), the requests
> are not accomodated in one TCP packet. Therefore , a part of the request is
> send in the next packet.
> I observed such a thing with other servers also. Everytime, if pipelined
> requests >1500, it reads only the first GET request and ignores the rest.
> I could not find any explaination/remark on Internet that mentions about
> sending pipelined requests in a single TCP packet i.e. size<1500.
> Is there any such for pipelining?
>
> -Thanks
> Nidhi
>
>
> >   On Tue, Oct 20, 2009 at 1:30 PM, nidhi sachdev <
> [email protected]>wrote:
> >
> >>  Hi Juliusz,
> >>
> >> Please find attached the logs for the issue.
> >> In the logs, we can see that for
> >> *Src Port - 35904      GET /script/jquery-1.3.2.min.js HTTP/1.1\r\n*
> >> >>response
> >> *Src Port - 35904      GET /script/jquery.hover.js HTTP/1.1\r\n GET
> >> /script/jquery.tabs.min.js HTTP/1.1\r\n GET /script/superfish.js
> >> HTTP/1.1\r\n (pipelined)*
> >> >>Connection gets closed without any response
> >>
> >> *Src Port - 35905      GET /script/jquery-1.3.2.min.js HTTP/1.1\r\n GET
> >> /script/jquery.hover.js HTTP/1.1\r\n GET /script/jquery.tabs.min.js
> >> HTTP/1.1\r\n GET /script/superfish.js HTTP/1.1\r\n (pipelined)*
> >> >>It gets the response for the first, and closes the connection.
> >>
> >> *Src Port - 35906      GET /script/jquery.hover.js HTTP/1.1\r\n GET
> >> /script/jquery.tabs.min.js HTTP/1.1\r\n GET /script/superfish.js
> >> HTTP/1.1\r\n (pipelined)*
> >> >>Response for first request is received; and the connection gets
> closed.
> >>
> >> In the next request,
> >> *Src Port - 35907      GET /script/jquery.tabs.min.js HTTP/1.1\r\n GET
> >> /script/superfish.js HTTP/1.1\r\n GET
> /script/jcarousellite_1.0.1.pack.js
> >> HTTP/1.1\r\n GET /script/jquery.metadata.js HTTP/1.1\r\n (pipelined)*
> >> **
> >> and so on..
> >> In each pipelined request, the response for first request is received
> and
> >> the connection is closed.
> >>
> >>
> >> Thanks
> >> Nidhi
> >>
> >>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Polipo-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/polipo-users
>
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Polipo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/polipo-users

Reply via email to