KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q229704: IIS 4.0 Supports HTTP 1.1 File Download Resume Capability

Article: Q229704
Product(s): Internet Information Server
Version(s): winnt:4.0
Operating System(s): 
Keyword(s): 
Last Modified: 04-FEB-2000

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Internet Information Server 4.0 
- Microsoft Internet Information Services version 5.0 
-------------------------------------------------------------------------------

SUMMARY
=======

When you host Web content on a computer running IIS, it is possible for Web
browsers that support HTTP 1.1 protocol to resume interrupted file downloads
where they left off, without having to re-download the entire file again. This
functionality is provided in HTTP 1.1 protocol, as noted in the HTTP 1.1 RFC.

MORE INFORMATION
================

Specifically, the Range Retrieval Request field allows for the following
functionality:

  14.36.2 Range Retrieval Requests

  HTTP retrieval requests using conditional or unconditional GET methods may
  request one or more sub-ranges of the entity, instead of the entire entity,
  using the Range request header, which applies to the entity returned as the
  result of the request:

  Range = "Range" ":" ranges-specifier

  A server MAY ignore the Range header. However, HTTP/1.1 origin servers and
  intermediate caches SHOULD support byte ranges when possible, since Range
  supports efficient recovery from partially failed transfers, and supports
  efficient partial retrieval of large entities.

Because IIS 4.0 and Internet Explorer versions 4.0 and 5.0 support HTTP 1.1, a
client can re-initiate a broken or interrupted download and continue downloading
the file at the point where the download was interrupted. This can be extremely
helpful from both a customer satisfaction and network bandwidth management
viewpoint for companies that host large files for general download on their Web
site. However, there are some caveats, such as the following:

- The local cache settings on the browser must be set large enough, so that the
  received portion of the downloaded file fits in the browser cache. If an
  empty browser cache has a size limit of 10 MB configured and a 15-MB file is
  being downloaded, the resume feature will not work if more than 10 MB of the
  file was downloaded before the download was cancelled. Internet Explorer will
  immediately remove this partially downloaded file from its cache to keep it
  within the size limit specified. This prevents the resume feature from
  working properly. To resolve this issue, set the cache size to a value that
  is large enough to accommodate large files being downloaded.

- If the Web site you are browsing is actually a Web farm located behind some
  sort of load balancing device, such as a Cisco LocalDirector, the load
  balancing device will have to be configured to allow a user to remain
  connected to the specific Web server in the farm that the file was originally
  being downloaded from. If a user starts and stops the download on one server,
  and then gets routed to a different identical server in the farm to resume
  the download, the resume feature will fail. The file resume request must be
  sent to the same server that the file was originally being downloaded from.

- The default LocalDirector settings assume that it will be used for standard
  Web server functions. As a result, the configuration is geared toward the
  small quick sessions typical for Web page service; it not geared towards the
  larger and longer sessions that are typical for large product downloads. Most
  notably, the sticky value controls the window in which a user may reconnect
  to the site and have a guarantee of hitting the same server behind the
  LocalDirector proxy. By default, this is set to 0 (minutes), which means that
  a user will never be guaranteed to hit the same server and as such, resumable
  downloads will not function. By increasing the value modestly (for example,
  to 10 minutes), resumable downloads can then be supported.

Additional query words:

======================================================================
Keywords          :  
Technology        : kbiisSearch kbiis500 kbiis400
Version           : winnt:4.0
Issue type        : kbhowto

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.