【问题标题】:Why cant the container just use the IP address of the client? It is part of the request only为什么容器不能只使用客户端的 IP 地址?它只是请求的一部分
【发布时间】:2010-01-15 11:47:50
【问题描述】:

我想知道为什么容器不能只使用客户端的IP地址来识别客户端。 因为IP地址是唯一的。 还是需要创建JSESSIONID?

【问题讨论】:

  • 判断你之前的所有主题:它是什么,你所有的厌恶和担心当客户端禁用cookie时传入的“jsessionid”URL标识符(这可能只影响1%的www人口)?

标签: java session servlets


【解决方案1】:

IP 地址远非唯一。

  • 路由器后面的人也一样
  • 它可以根据请求更改
  • 手机往往使用同一个手机

【讨论】:

  • IP地址确实是独一无二的东西。但你进一步说的是对的。
  • 醋;那是语义,它显然是一个“独特的东西”;但它不能唯一地识别最终用户,这就是他所要求的。
  • 另外,连接到不同网络的笔记本电脑用户会有不同的IP地址,需要重新认证。
  • @Vinegar - IP 地址唯一标识的就是它自己。
【解决方案2】:

如果客户端的IP发生了变化,会发生什么?如果代理背后的客户端怎么办?那么该代理后面的所有客户端将只有一个 ID。

【讨论】:

    【解决方案3】:

    您是在谈论 J2EE 容器吗?我认为部分原因是 HTTP 是无状态的。

    会话的整个概念是一种抽象,它允许您通过 HTTP 作为一系列交互(例如购物车)来做更多有趣的事情。因此,会话具有唯一的 ID。

    虽然每个 IP 有一个会话很常见,但来自同一个 IP 的多个会话并不罕见(例如,想象自己多次登录 gmail),一些 IP 是隐藏的,甚至是可能的在会话期间更改您的 IP,并使用 cookie 或客户端内存来保留会话 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-21
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 2013-03-31
      相关资源
      最近更新 更多