【发布时间】:2010-10-13 16:47:25
【问题描述】:
我想在 HTTPS 登录后将用户重定向到网站上的 HTTP 页面。对整个站点使用 HTTPS 是不会发生的。
到目前为止,我有以下内容:
- 用户将登录表单发布到安全站点
- 安全服务器验证凭据
- 安全服务器向客户端发送 302 重定向
这可行,但在我的机器上使用 IE6 时,用户会收到一条错误消息,因为默认设置是在退出安全页面时发出警告。这些错误对我来说是一个可用性杀手,因此是一个阻碍。我改变了它,所以第 3 步是
- 服务器发送带有元刷新的 html 代码
但这很慢;即使在我的本地机器上,它也明显比执行 302 重定向慢。
有没有更好的方法来实现在人们使用的标准设置上轻松重定向的目标? IE6 占我们流量的 20%-25%。另外,有没有人知道哪些浏览器会发出警告,哪些浏览器不会发出 302 重定向警告?我正在考虑将 IE6 列入黑名单,以便只有它获得缓慢的元刷新,而其他人获得快速的 302。
【问题讨论】:
-
如果您将表单发布到 https 站点,那么响应不是来自 https 站点,从而使用户继续使用 https 吗?
-
@matt:响应来自 https 服务器,但该响应包含重定向指令。某些重定向模式会发出警告,而其他重定向模式则不会。警告很可怕,而且 IMO 毫无意义(因为并非所有页面重定向模式都会发出警告)。
-
@alex 感谢您对我做出这样的判断。当您惩罚我公司中其他人做出的我无法控制的决定时,这确实有助于解决我的技术问题。
-
“在整个网站上使用 HTTPS 是不可能的。” - 听起来你是决策者,而且你对此非常坚定。向贵公司的决策者解释 1) 加密登录的资源已经用完然后浪费了; 2) 默认加密,完全避免您的技术问题; 3) 你正在让你的用户产生一种虚假的安全感和隐私; 4) 询问他们是否希望他们的个人信息通过互联网传播; 5) 与时俱进,因为信任在当今时代很有价值。
-
你需要放松。我意识到这是从 2009 年开始的,但我留下评论的原因是任何现在或将来访问此问题的人都可以阅读 cmets 并查看其他选择。您的问题仍然是相关的,并且在搜索结果中排名很高,这就是我到达这里的方式。我并不是要攻击你,但我确实想指出建立 HTTPS 会话的缺陷,只是为了在之后立即废弃它,而你正试图解决重定向问题。如果您觉得我不尊重您,我向您道歉。
标签: http redirect https http-status-code-302