php header()前为什么不能有输出
php header()前不能有输出是因为HTTP请求和HTTP响应都有消息报头,而消息报头是由众多报头域组成;如果在header之前有输出,就会先以默认请求发送,消息报头已确定,后面的设置就会失效。
本文操作环境:windows7系统、PHP7.1版、Dell G3电脑。
php header()前为什么不能有输出?
PHP header() session_start() 函数前为什么不能有输出?
前阵面试遇到的问题,当时没答上来,后来查了些资料,仍未得到答案。今天研究HTTP请求,终于知道了答案。
-
HTTP 函数允许在其他输出被发送之前,对由 Web 服务器发送到浏览器的信息进行操作。
-
HTTP请求和HTTP响应都有消息报头。而消息报头是由众多报头域组成。
也就是设置请求的消息报头,再发送;若之前有输出,就先以默认请求发送了,消息报头已确定,后面的设置就失效。
推荐学习:《PHP视频教程》