【问题标题】:Output after 'header' function'header' 函数后的输出
【发布时间】:2012-11-10 19:35:55
【问题描述】:

我有这样的代码:

<?php
header('Location: http://www.example.com/');
echo 'Hello';

我想知道代码的结果是什么。我知道 - 浏览器获取标题并重定向到“http://www.example.com/”。 但是'header'函数之后的输出呢?字符串“Hello”将被发送到哪里? 如果broser会收到吗?

【问题讨论】:

    标签: php html apache


    【解决方案1】:

    header() 用于发送原始 HTTP 标头

    它将在其标头中发送重定向(不同的 HTTP 代码,REDIRECT 302)以及内容'Hello'

    响应标头首先由网络浏览器处理,然后再转到任何内容。 因此,浏览器不会读取或处理此类 HTTP 响应的内容。

    更多:HTTP 302

    【讨论】:

    • 虽然响应正文不会被浏览器读取或处理,但仍会发送,这会占用不必要的带宽并且可能存在安全风险(想象一下重定向对于包含敏感内容的管理页面上的未经授权的用户)。在这样的重定向之后总是exit
    • 补充 drrcknlsn 的评论:完全由用户代理来选择是否允许或禁止重定向。我可以在 Opera 中为您的页面禁用重定向并查看全部内容。 exit's,可能带有后备链接,是关键。
    猜你喜欢
    • 1970-01-01
    • 2011-04-15
    • 2020-05-22
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 2019-09-22
    • 2014-10-10
    • 1970-01-01
    相关资源
    最近更新 更多