在谈到HTTP请求时,Go语言中的上下文(CONTEXT)是什么?

9
有些人可能会觉得这是一个愚蠢的问题。然而,对我来说这非常重要。我刚开始学习Go编程,当我读到中间件之间共享值Go并发模式:上下文时,我无法弄清楚在中间件处理程序或请求处理程序之间共享值时所指的上下文具体是什么意思。
我已经用Go编写了一个Web框架--Frodo。虽然在很多方面都不完美,但它是一个学习实验。正如你所看到的,我并不愚蠢。只是因为我刚开始接触Go语言,所以了解不够全面。
提前感谢您提供全面的解释。

7
https://joeshaw.org/net-context-and-http-handler/ 是一个很好的解释。请求上下文 就是存储在该请求本地的数据,一旦请求完成,这些数据就会被删除。通常,您会对用户进行身份验证,然后将其userID、首选语言或CSRF令牌等信息存储在上下文中。 - elithrar
@elithrar,感谢您的简短解释。让我们看看您分享的文章是否符合要求。 - Knights
1个回答

7

我在这篇博客的开头找到了一篇很好的解释:HTTP请求上下文和Go语言

对于术语新手来说,请求上下文通常是一种将数据与您编写的处理程序(或中间件)一起传递的方式。 这些数据可以是用户ID,CSRF令牌,Web令牌,以及用户是否已登录等内容。通常这些内容是从一些逻辑推导出来的,您不希望在每个处理程序中重复多次。如果您曾经使用过Django,那么请求上下文就相当于request.META字典。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接