Ale*_*lls 1 cookies http http-headers node.js express
我对如何在服务器之间发送 cookie 数据有点天真。我知道您在 HTTP 请求中使用了 Set-Cookie。
现在,出于授权目的,我在服务器之间发送标头,以便一台服务器获得另一台服务器的授权。但我想知道使用 cookie 是否有一些优势,如果在这种情况下 cookie 的行为与标头不同。据我所知,cookie 和标头对于大多数用途来说是一回事吗?
使用两台 Node.js 服务器,一台是 Web 服务器,另一台是 API 服务器,是否有任何理由可以解释为什么发送 cookie 比发送常规非 cookie 标头更好?
是的,“cookies”只是Cookie:
HTTP 标头和相应Set-Cookie:
标头的行话。所以它们最终是相同的基本事物。许多 API 使用稍微语义化的Authorization:
标头,因此这将是一个很好的起点。
“cookie”代表客户端和服务器之间的共享状态。如前所述,设置 cookie 值的方法是使用Set-Cookie
标头。传达已设置值的方法是使用Cookie
标头。
Cookie 通常与网络浏览器相关联,作为跟踪和识别现有用户的工具。我从未见过用于服务器到服务器通信的 cookie。
标Authorization
头适合传递编码或加密的字符串。
例如,您可能会看到:
Authorization: "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
本例中的值是“用户名:密码”的base64编码字符串
我不会太担心你使用什么标题。您可以制定自己的x-my-awesome-auth-header:
惯例,在自定义标头前添加“x”前缀。
需要考虑的一个重要事项是标头值包含的内容。如果您通过普通方式进行通信,http
请确保进行加密。
还可以考虑使用开源标准来传递加密数据,例如JWT
编辑:为了回答你的问题,有什么理由可以解释为什么发送 cookie 更好吗?当涉及到服务器到服务器的通信时,使用 Cookie 实际上要糟糕得多,因为这些服务器必须与其他服务器维护状态。例如。当A与B交谈时,A必须记住B在再次交谈时所说的话。通常,服务器到服务器的通信是无状态的,这意味着您可以在每次事务后丢弃与授权和许可相关的数据。每笔交易都必须经过完整的授权和权限解析过程。它更容易编码,并且只要您受到加密保护,安全性就不会受到影响
归档时间: |
|
查看次数: |
1380 次 |
最近记录: |