Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在服务器之间发送cookie与发送标头_Node.js_Http_Express_Cookies_Http Headers - Fatal编程技术网

Node.js 在服务器之间发送cookie与发送标头

Node.js 在服务器之间发送cookie与发送标头,node.js,http,express,cookies,http-headers,Node.js,Http,Express,Cookies,Http Headers,对于如何在服务器之间发送cookie数据,我有点天真。我知道在HTTP请求中您使用Set Cookie 现在,出于授权目的,我正在两台服务器之间发送一个头,以便一台服务器与另一台服务器进行授权。但我想知道使用cookie是否有一些好处,如果cookie在这种情况下的行为与头不同。据我所知,cookies和header在大多数情况下是相同的 使用两个Node.js服务器,一个是web服务器,另一个是API服务器,是否有任何原因说明发送cookie与常规的非cookie头相比更好?是的,“cooki

对于如何在服务器之间发送cookie数据,我有点天真。我知道在HTTP请求中您使用Set Cookie

现在,出于授权目的,我正在两台服务器之间发送一个头,以便一台服务器与另一台服务器进行授权。但我想知道使用cookie是否有一些好处,如果cookie在这种情况下的行为与头不同。据我所知,cookies和header在大多数情况下是相同的

使用两个Node.js服务器,一个是web服务器,另一个是API服务器,是否有任何原因说明发送cookie与常规的非cookie头相比更好?

是的,“cookie”只是
cookie:
HTTP头和相应的
设置cookie:
头的行话。因此,它们最终是相同的基本事物。许多API使用语义稍强的
Authorization:
头,因此这是一个很好的开始。

是的,“cookies”只是
Cookie:
HTTP头和相应的
Set Cookie:
头的行话。因此,它们最终是相同的基本事物。许多API使用语义稍强的
授权:
头,因此这是一个很好的起点。

cookie表示客户端和服务器之间的共享状态。如前所述,设置cookie值的方法是使用
set cookie
头。传达已经设置的值的方法是使用
Cookie

Cookie通常与web浏览器关联,作为跟踪和识别现有用户的工具。我从未见过用于服务器到服务器通信的cookies

Authorization
头适合传递编码或加密字符串

例如,您可能会看到:

授权:“基本dXNlcm5hbWU6cGFzc3dvcmQ=“

本例中的值是“username:password”的base64编码字符串

我不会太担心你用什么头球。您可以编写自己的
x-my-awesome-auth-header:
传统做法是在自定义头前面加上“x”

一个重要的事情是头值包含什么。如果您通过普通

http
进行通信,请确保加密

还考虑使用开放源码标准来传递加密数据,如

编辑:为了回答您的问题,是否有理由认为发送cookie更好?当涉及到服务器到服务器的通信时,使用cookie实际上要糟糕得多,因为这些服务器必须与其他服务器保持状态。当A和B谈话时,A必须记住他们再次谈话时B所说的话。您通常认为服务器到服务器的通信是无状态的,这意味着您可以在每个事务之后丢弃与授权和权限相关的数据。每个事务都必须经过完整的授权和权限解析过程。它更易于编码,而且只要您的计算机通过加密得到保护,“cookie”表示客户端和服务器之间的共享状态,就不会受到安全方面的惩罚。如前所述,设置cookie值的方法是使用
set cookie
头。传达已经设置的值的方法是使用
Cookie

Cookie通常与web浏览器关联,作为跟踪和识别现有用户的工具。我从未见过用于服务器到服务器通信的cookies

Authorization
头适合传递编码或加密字符串

例如,您可能会看到:

授权:“基本dXNlcm5hbWU6cGFzc3dvcmQ=“

本例中的值是“username:password”的base64编码字符串

我不会太担心你用什么头球。您可以编写自己的
x-my-awesome-auth-header:
传统做法是在自定义头前面加上“x”

一个重要的事情是头值包含什么。如果您通过普通

http
进行通信,请确保加密

还考虑使用开放源码标准来传递加密数据,如

编辑:为了回答您的问题,是否有理由认为发送cookie更好?当涉及到服务器到服务器的通信时,使用cookie实际上要糟糕得多,因为这些服务器必须与其他服务器保持状态。当A和B谈话时,A必须记住他们再次谈话时B所说的话。您通常认为服务器到服务器的通信是无状态的,这意味着您可以在每个事务之后丢弃与授权和权限相关的数据。每个事务都必须经过完整的授权和权限解析过程。它更容易编码,而且只要您的计算机通过加密得到保护,就不会受到安全方面的惩罚