【问题标题】:When and why headersSent is true?headersSent 何时以及为何为真?
【发布时间】:2019-02-16 07:54:33
【问题描述】:

最近看了koa.js源码,发现headersSent是node.js api有一些条件判断,所以想知道为什么要这样判断?

【问题讨论】:

    标签: javascript node.js networking


    【解决方案1】:

    如果headersSent 为真,则字面意思是已经发送了标头,并且从那时起您无法添加/设置任何其他标头(火车已经走了,也就是说,您迟到了,不能再乘坐了)。

    因此,如果我们必须弄乱标题,重要的是要知道什么时候可以,什么时候不可以。因此headersSent 有条件。

    如果您发布感兴趣的确切代码,我们将能够告诉您更多信息。

    【讨论】:

    【解决方案2】:

    根据 HTTP 协议规范,HTTP 应答由 2 部分组成(通常)

    • 标头:设置响应代码、管理缓存和设置 cookie(以及其他一些东西)

    • 正文:答案的内容。

    正文可以部分发送(不朽flush()来自PHP),标题总是在开头,如果发送结束标记,则不能添加其他字段。

    这就是“headersSent”的意思——如果你能改变标题的话。

    【讨论】:

      猜你喜欢
      • 2022-09-24
      • 2020-07-22
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      相关资源
      最近更新 更多