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

q8l4jmvw  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(88)

我正在用ArangoDB开发一个应用程序。
在手册中,它说有一种叫做Cookie传输和会话传输的东西。https://docs.arangodb.com/3.11/develop/foxx-microservices/reference/sessions-middleware/session-transports/cookie-transport/
看起来这些类似于cookie和session,就像您通过express-session模块获得的一样。但是,我不明白:
1.为什么这些东西被称为“运输”?

  1. Cookie的传输功能与Cookie相同吗?
    我在nginx后面使用elixir/phoenix和其他网络服务器,这些服务器必须能够访问cookie。
wd2eg0qa

wd2eg0qa1#

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传输到服务器。

相关问题