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

问题描述 投票:0回答:1

我正在使用 ArangoDB 构建一个应用程序。
在手册中,它说有一种叫做 Cookie 传输和会话传输的东西。 https://docs.arangodb.com/3.11/develop/foxx-microservices/reference/sessions-middleware/session-transports/cookie-transport/

这些似乎相当于 cookie 和会话,就像您通过 Express-Session 模块获得的那样。 然而我无法理解:

  1. 为什么这些东西被称为“运输”?
  2. Cookie 传输与 Cookie 的作用相同吗?
    我在 nginx 后面使用 Elixir/phoenix 和其他网络服务器,这些服务器必须能够访问 cookie。
cookies arangodb foxx
1个回答
1
投票

Transport 是一种对象。您可以像这样创建这样的对象:

// 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( ... );

您可以像这样使用 Transport 对象

myTransport

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

有关详细信息,请参阅 https://docs.arangodb.com/3.11/develop/foxx-microservices/reference/sessions-middleware/

您还可以将多个 Transport 对象作为数组传递给会话中间件。如果您不想更改任何默认值,可以传递

transport: ['header', 'cookie']
以支持 cookie 以及基于标头的会话传输。

传输定义了如何在客户端处理会话 ID,是否应使用 cookie 或 HTTP 标头或两者来将会话 ID 传输到服务器。

© www.soinside.com 2019 - 2024. All rights reserved.