现在年纪大了,面对问题时的嗅觉不再灵敏,第一感觉零是正确的,心想是不是重定向后忘记退出了,后面还有内容输出,可是查了一下代码发现没有问题:
header('Location: /path');
exit;
?>
在绕了一大圈之后,我猛然意识到环境是Nginx+PHP,响应没有「Content-Length」,数据是通过「Transfer-Encoding」分块发送的,所以重定向的空响应体实际类似:
0\r\n\r\n
不多不少,正好五个字节,细节大家可以参考Chunked transfer encoding。如此看来在此类空响应体的情况下,PHP主动输出一个「Content-Length: 0」说不定会更好些。
那零个字节的响应如何解释呢?查询日志发现如下两种情况:
HEAD “/path HTTP/1.1″ 302 0
GET “/path HTTP/1.0″ 302 0
前者是HEAD请求,不需要响应体;后者是HTTP/1.0,不支持「Transfer-Encoding」。
问题基本解释清楚了,擦擦额头的汗,总算没在同事面前丢脸。
野比大雄的涅槃 最新版v0.8-625
野比大雄的涅槃是一款非常好玩的从端游移植而来的精品哆啦A梦同
汽车模拟器2内置菜单全车解锁版2024 最新版v1.54.2
汽车模拟器2内置涂装版是游戏的破解版本,在该版本中为玩家提供
快递到了亲内置菜单 安卓版v0.6.2
快递到了亲内置菜单是一款非常好玩的模拟经营类手游,内部有功能
我的世界为时已晚模组整合包 手机版v皮神木马
我的世界为时已晚模组整合包是一款剧情向的恐怖游戏像素风格沙盒
纸牌农庄内购版 v1.12.77
纸牌农庄无限道具版是一款将纸牌与模拟经营相结合的游戏,为玩家