php - 关于HTTP Header 头的一个奇怪问题

查看:103
本文介绍了php - 关于HTTP Header 头的一个奇怪问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

关于使用 php 来设置 http 头的出现的问题。我使用php 来测试 HTTP header 头时候发现,假如我按以下代码来设置相应头的话,却发生了难以理解的错误,谁能帮忙解释一下其中的原因?


而且除了以上的问题外,我按以下的代码来设置响应头,结果在页面上只有最后一个响应头能够显示,其他被覆盖,但是原来的Content-Encoding:gzip 这个怎么都不会被覆盖

下面补充问题说明,如果显式声明为 gzip 编码,则会有下面的无法访问此网站的错误。

相关服务器配置代码

解决方案

第一个问题,浏览器是会根据你的Content-Encoding值对响应进行解码,你传的值(123,none)不正确当然出现乱码,然后gzip是因为你的响应体并没有做gzip压缩处理,而浏览器却对你的响应体做了解压处理,那肯定是解压失败就无法访问咯。
第二个问题参战楼上。

多个Content-Encoding头情况,浏览器按照从上往下的顺序来解码

这里响应头写反顺序则报错

这篇关于php - 关于HTTP Header 头的一个奇怪问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆