首页 > 代码库 > PHP header() session_start() 函数前不能有输出,为什么?

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

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

 

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

 

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

 

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

 

参考:PHP HTTP函数 HTTP协议详解(五、消息报头)

 

粗略认识,如有错误请指正。 

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