【问题标题】:http redirect in this code looks funny to me这段代码中的 http 重定向对我来说看起来很有趣
【发布时间】:2013-05-13 01:08:33
【问题描述】:

这个问题没有标记在 playframework 上,因为它很可能由具有强大 http 知识的人解决(并且这些用户倾向于跳过 playframework 问题)。

playframework 1.2.5 有如下 sn-p 代码

if (url.startsWith("http")) {
    //
} else if (url.startsWith("/")) {
    url = String.format("http%s://%s%s%s", request.secure ? "s" : "", request.domain, (request.port == 80 || request.port == 443) ? "" : ":" + request.port, url);
} else {
    url = String.format("http%s://%s%s%s%s", request.secure ? "s" : "", request.domain, (request.port == 80 || request.port == 443) ? "" : ":" + request.port, request.path, request.path.endsWith("/") ? url : "/" + url);
}

这段代码碰巧破坏了我们的登录/注销,因为它重定向到 http,这是不正确的,因为即使我们的 playframework 是在 http 中,我们的 LB 对于用户来说也是在 https 中。为什么有人会有这个代码?相对 url 还不够重定向吗?

我注释掉了代码,现在我们的网站运行良好,但我仍然觉得为什么首先将这段代码放入 playframework 中?

任何想法、猜测都会很棒,或者如果你知道答案,那就更好了。

谢谢, 院长

【问题讨论】:

    标签: http


    【解决方案1】:

    这是 302 重定向吗?它需要一个规范的 URL。这并不意味着许多网站不使用相对路径,而我见过的浏览器处理得很好。

    两个相关的老问题:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多