Re: [users@httpd] Determining incoming request size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nick Kew wrote:
Tony VanScoy wrote:

Is it possible to get the size of an incoming request? If so, how
reliable is it? I was thinking of using Content-Length, but I thought
I read somewhere that it's up to the browser to set that value.

Indeed it is.  You then read Content-Length bytes.  If there are more
bytes on the line, they're just line noise.

Of course, if you run HTTP/1.1 you may not get a Content-length header.
Apache will dechunk it for you, but you won't know the size in advance.

Understand, however, that it's not ambigious

If Transfer-Encoding is present, it's not controlled by Content-Length,
and the Content-Length would be injected in most spoofing attacks, so
it must be ignored.

As Nick says, the most common (and only recognized) Transfer-Encoding
is 'chunked'.  At that point, you simply read to EOF and as he pointed
out, it will be the correct length.  This is preferred these days, as
only the final consumer should be interested in an absolute length.

If Transfer-Encoding is absent, and Content-Length is present, Apache
will send you the body --- however the length will vary if an input
filter has modified the length.  Again, Apache sends you all the bytes
you need, so you should always read to EOF.

Bill

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux