我想使用HTTPS来保护我的客户端和服务器之间的通信。第一次加密通信将用于认证用户 - 即检查他/她的用户名和密码。使用HTTPS进行客户端 - 服务器通信
用户凭证将成功由服务器检查后,我想开始在后续请求中获取一些数据。但是服务器将如何确定后续请求是由用户发送的,而用户的凭证已被检查?
由于TCP连接可能在登录和后续HTTPS请求之间关闭,(我认为)这意味着SSL上下文必须由服务器释放,所以通过新的GET请求,必须建立新的TCP连接并新的SSL(TLS)握手必须完成(即加密的新共享密码必须由双方交换等)
为此,我认为服务器需要发送回客户端200 OK响应初始身份验证请求会随机生成一些随机生成的随机数(在某个时间内有效),我将在随后的每个请求中包含该数据,以便服务器能够基于此随机生成的随机数检测哪个用户名位于请求后面,检查该用户是否已经登录我的理解是否正确?
非常感谢您的答复 BR 斯登
嗨,非常感谢您的评论!所有通信都会通过HTTPS进行 - 无一例外。我也是这样想的 - 在每个请求中发送用户名/密码或者让服务器用一些魔法回复第一个请求,然后我将在每个请求中使用它,而不是重复用户名/密码(我的客户端不是浏览器,但自定义应用程序)。我认为这两种方法都差不多,而第二种方法需要在服务器上完成更多的工作。我可以问你什么是行业标准? HTTPS应用程序是否以重新发送每个请求中的用户名/密码的方式创建?谢谢,BR STeN – STeN 2010-10-06 12:22:06
@STeN:有几个“行业标准”,取决于您的要求是什么。我列出了以上两种非常常见的常见使用模式。还有其他的(例如,SSL级别的客户端证书),但它们不太常见,并且更容易遇到获取便携式实施或良好部署的问题。 – 2010-10-06 23:41:23
谢谢 - 你的建议非常好! – STeN 2010-10-07 04:15:13