小编典典
你似乎在混淆/合并两个不同的概念。我们开始谈论加密流量(HTTPS),然后开始谈论管理经过身份验证的会话的不同方法。在安全的应用程序中,这些不是互斥的任务。会话管理如何影响身份验证似乎也存在误解。基于此,我将提供有关Web应用程序/ Web api会话管理,身份验证和加密的入门。
介绍
会话管理
默认情况下,HTTP事务是无状态的。HTTP没有指定任何方法来让你的应用程序知道已从特定用户(是否经过身份验证)发送了HTTP请求。
对于健壮的Web应用程序,这是不可接受的。我们需要一种方法来关联请求和跨多个请求的数据。为此,在向服务器发出初始请求后,需要为用户分配一个“会话”。通常,会话具有发送到客户端的某种唯一ID。客户端随每个请求一起发送该会话ID,服务器使用每个请求中发送的会话ID为用户正确准备响应。
重要的是要记住,“会话ID”可以称为许多其他事物。这些示例包括:会话令牌,令牌等。为保持一致性,我将在此响应的其余部分中使用“会话ID”。
来自客户端的每个HTTP请求都需要包含会话ID;这可以通过许多方式来完成。流行的例子有:
它可以存储在cookie中-当前域的cookie会在每次请求时自动发送。
它可以在URL上发送-每个请求都可以在URL上发送会话ID,不建议使用,因为会话ID会保留在客户端历史记录中
可以通过HTTP标头发送-每个请求都需要指定标头
大多数Web应用程序框架使用cookie。但是,依赖JavaScript和单页设计的应用程序可能会选择使用HTTP标头/将其存储在服务器可以观察到的其他位置。
请记住,通知客户端其会话ID的HTTP响应以及包含该会话ID的客户端请求是完全纯文本且