【发布时间】:2020-11-05 01:38:09
【问题描述】:
虽然 http.sys has limit 上的 UrlSegmentMaxLength 默认为 260,但我找不到它是否适用于 URL 查询参数部分。例如,当我将 WCF 服务托管为 WebServiceHost w/o IIS 时,每个分段长度超过 260 个字符的请求都会失败,并出现 400 错误。所以,我的第一印象是它必须也适用于查询参数。
但是,经过几次实验后,我认为它不会影响它。使用参数成功通过的测试比默认最大值更长。所以,我想知道UrlSegmentMaxLength 是否会影响查询部分?那么如果不是,那么是什么参数(如果有的话)对此负责,这些限制是什么?
换句话说,为什么下面的请求会因为超过 Windows 设置中允许的字符数而导致400 Bad Request:
HTTP GET http://my.com/foo/very-long-segment-5k-chars?arg=1
但是这个工作正常:
HTTP GET http://my.com/foo?arg=very-long-argument-5k-chars
【问题讨论】: