Systems and methods are described for streaming multimedia data from a
client to a server using HyperText Transfer Protocol (HTTP). A session is
initiated with a header that identifies a content length header that is a
maximum allowed by the server, regardless of the actual length of the
data to be streamed. If a firewall or proxy server limits access to the
server, the content length of the data is specified to be about an amount
of data that can be streamed to the server in one minute. If more data
remains to be streamed when an amount of data approximating the content
length has been streamed, a continuing streaming session is requested and
subsequent data is streamed to the server in the continuing streaming
session. The process repeats until all data has been streamed.