什么是“会话/ Cookie传输”?

时间:2018-11-03 14:00:50

标签: cookies arangodb foxx

我正在使用ArangoDB构建应用程序。
在手册中,它说有一种称为Cookie传输和会话传输的东西。 https://docs.arangodb.com/3.0/Manual/Foxx/Sessions/Transports/Cookie.html

似乎这些等同于cookie和会话,就像您通过express-session模块获得的一样。 但是,我不明白:
1.为什么将这些东西称为“运输”?
2. Cookie传输与cookie一样吗?
我在nginx后面使用elixir / phoenix和其他Web服务器,并且这些服务器必须能够访问cookie。

1 个答案:

答案 0 :(得分:1)

传输是一种对象。您可以创建这样的对象:

// use cookie based session
const cookieTransport = require('@arangodb/foxx/sessions/transports/cookie');
const myTransport = cookieTransport( ... );

// -OR-

// use header based session
const headerTransport = require('@arangodb/foxx/sessions/transports/header');
const myTransport = headerTransport( ... );

您可以像这样使用运输对象myTransport

sessionsMiddleware({ ..., transport: myTransport });

有关详细信息,请参见https://docs.arangodb.com/3.3/Manual/Foxx/Sessions/

您还可以将多个传输对象作为数组传递给会话中间件。如果您不想更改任何默认值,则可以传递transport: ['header', 'cookie']以支持cookie以及基于标头的会话传输。

传输方式定义了应如何在客户端上处理会话ID,是否应使用Cookie或HTTP标头或同时使用这两者将会话ID传输到服务器。