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

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

 

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

 

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

 

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

 

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

 

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。