【问题标题】:Is it possible to set custom status message (in utf-8) in http status header?是否可以在 http 状态标头中设置自定义状态消息(在 utf-8 中)?
【发布时间】:2016-04-07 10:29:20
【问题描述】:

我想用我自己的状态消息更改 http 状态标头。例如,将HTTP/1.1 200 OK 更改为HTTP/1.1 200 custom status message in utf-8。为此,我使用 php 发送了一些标头:

Content-Type: text/html; charset=UTF-8
HTTP/1.1 200 custom status message in utf-8

但在 Chrome 开发者工具中,我看到编码错误的状态消息,例如 Status Code:200 УпÑ! ЧÑо-Ñо。有办法解决吗?

【问题讨论】:

    标签: php apache http


    【解决方案1】:

    (a) 编码未定义,因此不值得尝试非 ASCII,此外,(b) HTTP/2 中不再存在原因短语。

    【讨论】:

    • 好的,编码在 Content-type 头中定义。那么,我可以在其他语言(不同于英语)中使用我自己的短语吗?如果不是,你能解释一下原因吗?
    • 不,Content-Type 定义 HTTP 消息的有效负载,而不是标头中的任何内容。我无法解释为什么它未定义,但确实如此。
    • 此答案目前缺少声明的来源。最好参考规范的相关部分。
    【解决方案2】:

    您刚刚使用下面的行来更改 HTTP 标头状态代码和消息

    $msg = "custom status message";
    
    header("Status: 200");
    header("HTTP/1.1 200 ".$msg);
    

    【讨论】:

    • 我的意思是状态信息的语言,不同于英语(例如希腊语或俄语)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多