301 redirect: 301 代表永久性转移(Permanently Moved)
302 redirect: 302 代表暂时性转移(Temporarily Moved )
一、案例
运营商的nginx 拦截请求,返回302
location:http://xxx.js
然后执行里面的js
二、HSTS
通常将 HTTP 请求 302 跳转到 HTTPS,但有问题:
1.不安全,302 跳转会暴露用户访问站点,易被劫持。
2.多增加一次访问,使得客户端响应速度慢。302 跳转需要一个 RTT(The role of packet loss and round-trip time),浏览器执行跳转也需要时间。
302 跳转是由浏览器触发的,服务器无法完全控制,这个需求导致了 HSTS(HTTP Strict Transport Security)的诞生。HTSP 就是添加 header 头,
告诉浏览器网站使用 HTTPS 访问,支持HSTS的浏览器就会在后面的请求中直接切换到 HTTPS。
nginx添加HSTS支持
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
来源:https://www.cnblogs.com/yuyutianxia/p/3847626.html