php服务端解析cookie的特殊之处

昨天同事找我,说接口挂了,一直提示token无效,获取不到uid。我最初是怀疑公司的用户认证系统出问题了,因为我从来没改过代码。但当我测试的上海发现,用户认证没问题。

后来,我就查log,发现打印出来的token和请求头的中的token不一样,很明显的差别就是原生的token字段有个 “+”号,但服务器解析出来的是空格。显而易见,这是把请求参数的一些特殊字符解码了,+号解析成空格了。那为什么是这样呢?

我的译文就是 不是只有请求的url会进行解码吗?为啥还会对cookie进行解码?

后来查资料才发现,php会对Cookie自动进行解码,然后将解析后的值放到全局变量 $_COOKIE中。

然而对于其他的语言,比如Java就不会那么做,如果你想进行解码,需要开发者自己去做。

--------EOF---------
微信分享/微信扫码阅读