|
From: | HJ |
Subject: | [lwip-users] HTTP reassembling/application processing |
Date: | Tue, 10 Aug 2010 11:13:34 +0200 |
Hi all
I have to implement some HTTP stuff on top of lwip. I just wondered how to process a http request or response with its content fragmented over several tcp packets.
I captured the following typical request from a mozilla browser:
GET /favicon.ico HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Let's assume now, that this http request gets fragmented into two tcp packets (either by the client or by a some routing infrastructure).
E.g. content of first tcp packet
-------------------------------
GET /favicon.ico HTTP/1.1
.....
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Content of last tcp packet
--------------------------
Accept-Encoding: gzip,deflate
......
Connection: keep-alive
The question
-------------
How do I know, when I have received the complete request content and may pass it to my application layer?
Regards
Hans-Joerg (George)
[Prev in Thread] | Current Thread | [Next in Thread] |