我有一个 sdk,想同时支持 http 和 https,但浏览器总是强制使用 https。我知道这是浏览器的好功能,但许多使用 http 的网站无法使用我的 sdk。
有谁知道我可以如何预防 HSTS 或解决方案?
HSTS 仅在相关网站要求时(或当用户手动将网站添加到浏览器时)才会激活。因此,如果启用了 HSTS,那是因为网站支持 https(HSTS 标头仅在设置为安全的 https 响应时才有效)。
如果网站不提供 http,则不能强制。(并且在使用 HSTS 时,所有绕过 HSTS 的 http 请求都可能会重定向到 https 作为答案)
请注意,如果 HSTS 标头具有“includeSubdomains”选项,它将强制所有子域使用 https,即使它们不支持 https。
最后一点:HSTS(和 HTTPS)是一项安全功能,尝试禁用它可能是个坏主意。