跳到正文
ipaddress.fi

重定向检查

我们请求该 URL 及其指向的每个 Location,最多 10 跳。每一跳在连接前都会重新解析和检查,并且从不读取响应正文。

示例:

一个链接在显示页面之前,常常要经过好几个地址:从 http 到 https,从裸域名到 www,从跟踪链接或短链接到最终目标。每一步都是一次 HTTP 重定向,即带有 Location 头的 3xx 状态码。

工具逐跳跟随重定向链,显示每个状态码和目标。它会标出切换到 HTTPS 和离开 HTTPS、跳转到其他主机,以及永久(301、308)和临时(302、303、307)重定向,并在遇到循环或十跳之后停止。

每一跳在连接前都会重新解析并检查,因此公开 URL 无法把我们的服务器重定向到私有网络;连接会固定到已检查的地址。只允许 80 和 443 端口,且从不读取响应正文。

常见问题

用 301 还是 302?

301 和 308 是永久重定向:搜索引擎会把旧地址的权重转移到新地址,浏览器也可以缓存该重定向。302、303 和 307 是临时重定向。

为什么重定向链在私有地址处停止?

重定向到私有或保留网络,正是 SSRF 攻击所利用的手法。我们从不跟随这类重定向。

多少次重定向算太多?

每一跳至少要花一次往返。一次重定向(http 到 https,或域名到 www)是正常的;三步及以上的链应当缩短。