软件帮帮网
柔彩主题三 · 更轻盈的阅读体验

JWT放在HTTP请求头哪里(实战经验分享)

发布时间:2026-01-04 09:01:13 阅读:66 次

做前后端分离开发时,用户登录后的身份验证大多靠 JWT(JSON Web Token)来实现。很多人在实际操作中会遇到一个问题:JWT 到底该放在 HTTP 请求的哪个位置?

标准做法:Authorization 请求头

JWT 最常见的放置位置是 HTTP 请求头中的 Authorization 字段。按照通用规范,它的格式是:

Authorization: Bearer <token>

这里的 Bearer 是一种认证方案类型,表示“持有者凭证”,后面的 <token> 就是你的 JWT 字符串。比如:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxxx

前端怎么加这个头?

如果你用的是 Axios,在登录成功拿到 token 后,可以这样设置默认请求头:

axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;

之后每个请求都会自动带上这个头,后端就能从中解析出用户信息。

为什么不放在 Cookie 或 URL 里?

有人图省事把 JWT 拼在 URL 参数上传,比如 ?token=xxx,这样做容易泄露,浏览器历史、服务器日志都可能记录下来。而放在 Cookie 虽然可行,但需要额外处理跨域和 CSRF 防护,不如请求头干净直接。

后端怎么取?

以 Node.js Express 为例,中间件里可以从请求头读取:

const authHeader = req.headers['authorization'];
const token = authHeader && authHeader.split(' ')[1]; // 取 Bearer 后的部分

然后用 jsonwebtoken 库解码验证即可。

别忘了加 Bearer 前缀

很多初学者只传 token 字符串,忘了前面的 Bearer ,导致后端拿不到或解析失败。注意中间有个空格,别拼错了。

只要记住一句话:JWT 放在 Authorization 请求头,用 Bearer 开头,基本就踩不到坑了。