php header()前为什么不能有输出

php header()前不能有输出是因为HTTP请求和HTTP响应都有消息报头,而消息报头是由众多报头域组成;如果在header之前有输出,就会先以默认请求发送,消息报头已确定,后面的设置就会失效。

本文操作环境:windows7系统、PHP7.1版、Dell G3电脑。

php header()前为什么不能有输出?

PHP header() session_start() 函数前为什么不能有输出?

前阵面试遇到的问题,当时没答上来,后来查了些资料,仍未得到答案。今天研究HTTP请求,终于知道了答案。

  • HTTP 函数允许在其他输出被发送之前,对由 Web 服务器发送到浏览器的信息进行操作。

  • HTTP请求和HTTP响应都有消息报头。而消息报头是由众多报头域组成。

也就是设置请求的消息报头,再发送;若之前有输出,就先以默认请求发送了,消息报头已确定,后面的设置就失效。

推荐学习:《PHP视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php header()前为什么不能有输出