我想知道为什么 OPTIONS 方法请求(可能是 CORS 预检请求)被记录为 200 状态,而所有 GET 方法请求都被记录为预期的 301(永久移动)。该地址唯一返回的是带有新地址的 Response.RedirectPermanent。
就上下文而言,301 已经存在了几个星期,而且在很多情况下,Referer URL 已经消失很久了,所以我的第一个想法是这是一个脚本调用。除了这些 OPTIONS 请求之外,我所查看的特定 URL 上的其他所有内容都有自动化的迹象,比如来自早已消失的 Referer。对于这些 OPTIONS 请求,日志中的给定地址通常只会对服务器进行一次调用,然后再也不会调用。因此,这种模式表明它是某种形式的自动化的代理。再次强调,本段仅用于提供上下文,而不是问题本身。我并不担心潜在的自动化。
回到问题 - 为什么这些 OPTIONS 请求在这种情况下显示为 200?最终,我试图找出原因的原因是因为我想知道是否需要做任何事情来正确满足这些请求,或者这是否只是此类请求对永久重定向的预期行为。
答案1
答案是 - 是的,这是预期的行为。跨子域的 CORS 请求不允许重定向,因此它返回 200 状态。