In a conventional download system, a WWW server couples download inspection data which stores various information such as file name, file size (i.e. the file size of the download target file), and file creation date and time, to the header portion of the download target file, to create a download file. The WWW server then sends the downloaded file to the client.
On the other hand, the client, upon receiving the download file, compares the file size contained in the download inspection data in the header portion with the actual file size of the download target file. If the two file sizes match, the client sends to the WWW server that the download was successful. If the two file sizes do not match, the client sends to the WWW server the discrepancy in the files sizes (for example, refer to patent literature 1).
Patent literature 1: Japanese Patent Laid-Open No. 2003-150480 (pages 5 and 6, FIGS. 2 and 4).
Now, the download system according to the above configuration may include a so-called proxy server which undertakes on behalf of the client certain functions and executes them, including protective functions protecting the client against external illegal access, and management functions regarding access to the client.
Also, with a download system thus configured, due to the recent increase in speed of data transmission and other factors, it has become common for communication between the client and a WWW server on the Internet to be carried out in compliance with a communication protocol called HTTP (Hyper Text Transfer Protocol).
HTTP is defined so that data to be provided, such as content data, can be stored in the main section of a transmitted file. HTTP is also defined to provide many items that allow storage of data, such as data stored in the main section, as well as the WWW server, various client and proxy server-related information. These include file size consisting of content data attribute information of the main section that is stored in an item called the Content-Length header field of the header portion of the transmitted file, and encoding specification information which specifies the encoding type applied by the sender to the main section that is stored in an item called the Transfer-Encoding header field.
When communicating with a client in compliance with HTTP, the WWW server determines that the main section is the download target file, and creates a download file which stores the file size of the download target file in its header portion. The WWW server then sends the downloaded file to the client via the proxy server.
However, for proxy servers, “If a Content-Length header field is present, its decimal value in octets represents both the entity-length and the transfer-length. The Content-Length header field must not be sent if these two lengths are different (i.e., if a Transfer-Encoding header field is present). If a message is received with both a Transfer-Encoding header field and a Content-Length header field, the latter must be ignored.” (see http://www.studyinghttp.net/rfc_ja/2616/sec4.html#sec4.4). In other words, proxy servers are defined not to send a Content-Length header field if both a Transfer-Encoding header field and a Content-Length header field are stored in the header portion of the transmitted file.
Therefore, in the download system thus configured, according to the definition for proxy servers, such proxy servers may remove a file size from the header portion of the downloaded file sent from a WWW server. Thus, there existed a problem wherein a server was not assured that it will always receive file sizes as a part of the downloaded file from a WWW server.