HTTP 文件上载操作需要很长时间才能完成
来源:互联网 发布:十大网络禁曲 编辑:程序博客网 时间:2024/05/29 07:52
HTTP 文件上载操作需要很长时间才能完成
适用于重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Description of the Microsoft Windows Registry
症状
当使用 HTTP 文件上载功能上载大小为几兆字节的文件时,上载操作需要很长时间才能完成。注意:此问题记录在 Request For Comment (RFC) 1867“Form-based File Upload in HTML”中。
原因
产生此问题的原因在于:默认的 Winsock 发送缓冲区大小为 8 KB,因而 Internet Explorer 以 8 KB 大小的块区提供数据。在一般的网络上,这相当于每秒约 80 KB (KBp)(不考虑网络带宽)。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
214397 INFO:Design Issues - Sending Small Data Segments Over TCP w/Winsock
解决方案
要解决这一问题,请配置 Internet Explorer,以增大与 Winsock 进行通信时的发送缓冲区。当您使用 HTTP 文件上载方法时,这可以改善网络性能。为此,请按照下列步骤操作。警告:注册表编辑器使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为注册表编辑器使用不当而产生的问题。使用注册表编辑器需要您自担风险。
- 启动注册表编辑器 (Regedt32.exe)。
- 找到并单击下面的注册表项:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings
- 在编辑菜单上,单击添加值,然后添加下列注册表值:
数值名称:SocketSendBufferLength
缓冲区大小值选项:
数据类型:REG_DWORD
基数:十进制
值数据:所需的缓冲区大小(字节)16 KB 缓冲区 = 16384
24 KB 缓冲区 = 24576
32 KB 缓冲区 = 32768
40 KB 缓冲区 = 40960
48 KB 缓冲区 = 49152
56 KB 缓冲区 = 57344
64 KB 缓冲区 = 65536 - 退出注册表编辑器。
状态
这种行为是设计使然。更多信息
当您使用本文“解决办法”部分中描述的过程时,任何使用 WININETAPI HTTPSendRequest 函数(下列 Microsoft Developer Network (MSDN) Web 站点提供)的程序都将按注册表项的定义分配和请求 Winsock 发送缓冲区。有关 HTTPSendRequest 函数的其他信息,请访问下列 MSDN Web 站点:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/httpsendrequest.asp
有关 Winsock 发送缓冲区行为的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:214397 INFO:Design Issues - Sending Data Segments Over TCP w/Winsock
这篇文章中的信息适用于:
- Microsoft Internet Explorer version 6 for Windows XP
- Microsoft Internet Explorer version 6 for Windows 2000
- Microsoft Internet Explorer version 6 for Windows NT 4.0
- Microsoft Internet Explorer version 6 for Windows Millennium Edition
- Microsoft Internet Explorer version 6 for Windows 98 Second Edition
- Microsoft Internet Explorer 5.5 for Windows 2000
- Microsoft Internet Explorer 5.5 for Windows NT 4.0
- Microsoft Internet Explorer 5.5 for Windows Millennium Edition
- Microsoft Internet Explorer 5.5 for Windows 98 Second Edition
- Microsoft Internet Explorer 5.01 for Windows 2000
发表于 2004年7月20日 10:34
- HTTP 文件上载操作需要很长时间才能完成
- HTTP 文件上载操作需要很长时间才能完成
- 删除文件时提示“您需要计算机管理员提供的权限才能完成此操作”
- vue todomvc案例中全选框出错,需要点三次才能完成全选取消全选两种操作
- 简单sql查询接口(需要在文件中指定conn才能进行sql语句操作)
- 【0005】删除文件时,提示你需要权限才能执行此操作
- FLEX 文件上载
- 文件上载的表单
- 自动上载文件
- 文件上载大小限制
- 文件上载器
- php $__FILES 文件上载
- 备忘:有几个未上载博客待完成上载
- 托盘气泡很长时间才能消失,uTimeout没起到作用
- windows完成端口 等待客户端发送一次消息才能完成AcceptEx操作的解决方法
- 用jsp编写文件上载
- 用jsp编写文件上载
- 用jsp编写文件上载
- HTTPS、SSL、数字证书
- 黄加阳
- Javascript设计网页中的下拉菜单
- 自动生成字体图片
- 如何设置较低权限的用户运行 sp_CmdShell,LinkServer
- HTTP 文件上载操作需要很长时间才能完成
- 关于根据后台代码获取confirm返回结果后再执行后台代码
- ASP.NET直接下载一个文件,而不是在IE中打开它
- Device Emulator 2.0 本地化版本
- 10分钟写一个操作系统
- 在ASP.NET中清空浏览器客户端的缓存
- 最近忙死啦!
- 将html源代码规范化,转换成XSL代码的asp工具
- 使用Struts Plug-in初始化