【发布时间】:2023-04-10 19:32:01
【问题描述】:
在 HTTP 1.1 连接交换期间客户端远程端口是否更改?
我正在尝试确定是否可以使用请求远程端口和远程 IP 地址以编程方式唯一标识服务器上的连接。
【问题讨论】:
标签: http tcp connection port
在 HTTP 1.1 连接交换期间客户端远程端口是否更改?
我正在尝试确定是否可以使用请求远程端口和远程 IP 地址以编程方式唯一标识服务器上的连接。
【问题讨论】:
标签: http tcp connection port
这不是一个 HTTP 问题,而是一个 TCP 问题。不,端口不会改变:ephemeral port 在连接期间保持不变。
但是,一旦建立新连接,客户端可以(并且很可能将)使用不同的端口。这完全取决于客户端操作系统的实现和中间路由器的网络地址转换。
无论如何,你不能依赖它来构建像会话这样的东西,因为来自同一个客户端的下一个请求很可能来自不同的端口(更不用说 HTTP 不必在 TCP 之上运行) )。
只需使用您存储在 cookie 中的会话 ID。
【讨论】: