我在网上查了一下,找不到合适的解释。
我检查过的链接:差异
这个链接上写着:
如果您试图上载大型文件(如图像或文档),您需要注意您可能需要调整您的maxRequestLength。然后,如果文件非常大,您可能需要调整maxAllowedContentLength。
但这两句话的意思是一样的,我很困惑。
另一个链接:差异
这上面写着
maxRequestLength指示ASP.NET支持的最大文件上载大小,maxAllowedContentLength指定IIS支持的请求中的最大内容长度。因此,我们需要同时设置maxRequestLength和maxAllowedContentLength值来上传大型文件。
我的问题是:如果我有一个10 is的文件上传。我的内容是10 Is还是我的FileSize 10 is?我不明白上传的文件大小和内容大小之间有什么区别?
底线:如果我有10 if的文件上传,请用外行人的方式告诉我,这两个参数是如何进入图片的。
发布于 2019-02-14 18:45:35
请求由标题和正文(在您的情况下提供文件的编码内容)组成。因此,请求长度是请求的总大小,内容长度是以正文的字节为单位的大小(很可能大于您正在发送的数据的大小)。
假样本:
User-agent: Bob the builder the 4th
Authorization: hereIcome
Content-length: 4
Content-Encoding: Base64
BEEF因此,这里的请求长度约为100,内容长度仅为4(“牛肉”的长度),但实际数据为3个字节(FromBase64String("BEEF") - 0x04 0x41 0x05)。
对于巨大的文件,可以忽略头部的大小,并且maxRequestLength和maxAllowedContentLength都设置为相同的很高的值。根据用于发送文件的编码,值需要是文件最大大小的某个乘数。
发布于 2020-01-10 08:27:46
这些设置在语义和用法上都不同。
maxAllowedContentLength
这是IIS特定的设置。您发送的任何请求都将首先由IIS处理,无论它是由您的应用程序处理,还是由其他任何应用程序处理。所以,如果你把网络服务器想象成一座大楼,这将是你进入大楼的入口。正如@Alexei所提到的,这只考虑内容或有效负载大小,并以字节为单位进行度量。如果发送一个有效负载大小超过此限制的请求,您将得到一个Http 404.13错误响应(http响应404,子代码为13。您可以在此链接中检查不同的IIS状态代码)。
maxRequestLength
相比之下,maxRequestLength是一个特定于ASP.Net的设置,它定义输入流的缓冲阈值。所以,在建筑的例子中,这是一个公寓的门,因此是公寓专用的。所以,你的要求必须符合建筑门和公寓门的要求。这将考虑整个请求长度,而不仅仅是有效负载,并且是以kbs度量的。如果您的请求通过IIS设置,并且由于大小而无法在这里传递,您将得到一个Http 500错误。
https://stackoverflow.com/questions/54697002
复制相似问题