http header Authorization: Bearer和token之间可以有几个空格

1、问题

项目中用到了satoken,一次使用apipost测试接口,http header中Authorization的Bearer和token之间,不小心,敲了两个空格,服务端报token无效;【不太好排查】,最后发现,是多了一个空格,去掉后,保持一个空格,成功

2、分析

satoken参考文档

代码

是一个空格

根据tokenValue,拼接,取查找对应信息(如果Bearer和Token之间有两个空格,这里,tokenValue的第一个字符就是空格,出错的地方)

3、RFC文档

RFC6750

RFC 6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage

Authorization的值,是扩充巴克斯方式

RFC 5234

RFC 5234 - Augmented BNF for Syntax Specifications: ABNF

=》结合如下规则,1*SP,应该表示:至少一个空格 (所以,Authorization,Bearer后面如果有多个空格,后端服务器最好是能做下兼容处理,去掉多余的空格)

%x20 是 百分号编码(Percent-Encoding) 中的表示方式,表示ASCII字符码的十六进制值

%x20 表示空格字符(Space)

相关推荐
mister_guo10 小时前
HTTP 和 RPC:从一次干饭说清它们的区别
网络协议·http·rpc
严谨的麻辣烫10 小时前
Python HTTP 连接池怎么用?从连接复用到请求异常排查
开发语言·python·http·requests·网络排查
码林鼠13 小时前
flutter网络http请求入门教程-dio
网络协议·flutter·http
Lsetea15 小时前
curl访问HTTPS返回304却没有正文:条件请求、缓存与证书验收排查
linux·http·https·ssl证书·curl
honsor18 小时前
ModbusTCP、SNMP、HTTP 怎么选?以太网温湿度变送器协议选型实战
网络·物联网·网络协议·tcp/ip·http
Funlang20 小时前
HTTP 服务端,能写业务了
网络·网络协议·http
情 九1 天前
Dify HTTP 请求节点实战:发送 JSON、解析响应与处理异常
网络协议·http·json·dify
cfm_29141 天前
初步了解ECDHE密钥交换
http
Lsetea2 天前
curl -I检查HTTPS返回405:HEAD、GET与证书验收分层排查
linux·http·https·ssl证书·curl
我命由我123452 天前
Python 开发 - Python 虚拟环境
运维·开发语言·后端·python·http·https·java-ee