我有一个客户端发出HTTP PUT以将文件上传到SharePoint服务器。此服务器需要身份验证(NTLM或Negotiate)。客户端在PUT请求中包含“Expect:100-Continue”标头。
当我将文件输出到SharePoint2010(IIS 7.5)时,服务器会在收到标头后立即响应401错误。这允许客户端开始身份验证过程,而无需上载整个文件。
当我将文件输出到SharePoint2013(IIS 8.0)时,服务器立即响应100-Continue。但是,一旦客户端将文件上载到请求正文中,它就会回复401.这意味着客户端上传整个文件只是为了接收身份验证错误。在客户端上传所有数据之前,服务器应该能够响应401,就像IIS 7.5一样。
这是IIS8固有的行为变化吗?是否有控制此功能的配置选项?我可以在标题中调整一些内容来改变服务器的行为吗?
答案 0 :(得分:0)
您必须从HTTP标头中删除期望:100-Continue 如果您使用.NET,此链接将非常有用: Removing the expect http header