JWT在请求流中的位置
来源:11-1 【理解】JWT原理剖析

ToExpress
2020-12-02
1.用户登录获取JWT信息后,去访问服务器资源,JWT在请求头中携带是有什么讲究吗,不能放在请求体吗?
我猜 是不是请求分为不同类型,如果是GET类型,后端获取不到请求体,只能放在url中,为了统一(jwt要么放url要么放body)就放header传递了?
2.请求体是否有传输大小限制,header呢?
写回答
1回答
-
阿莱克斯刘
2020-12-03
一般来说验证信息都会放在header的Authorization中,这并是针对jwt,使用其他的验证方式也会这样操作。
“如果是GET类型,后端获取不到请求体,只能放在url中",这句话的说法其实是点问题的。因为在数据传输过程中url是明文传递,所以如果把身份验证信息放在url中传输,那就等于在裸奔。而header和body是可以被https加密的,而正如你所说,get请求没有body(其实可以有,但行业中一般认为get请求没有body),所以一般来说,我们要把身份信息放在header中
请求主体没有限制,header好像也没有限制(我记不清了,需要求证),但是如果header太长web服务器会无法处理,比如说tomcat(v8.0)允许的http请求header的最大值是8KB。每个web服务器的处理能力都有一点区别,不过在正常使用的前提下是绝对够用了。
00
相似问题