Php 是否可以在http状态标头中设置自定义状态消息(utf-8格式)?
我想用我自己的状态消息更改http状态标头。例如,将utf-8中的Php 是否可以在http状态标头中设置自定义状态消息(utf-8格式)?,php,apache,http,Php,Apache,Http,我想用我自己的状态消息更改http状态标头。例如,将utf-8中的HTTP/1.1200 OK更改为HTTP/1.1200自定义状态消息。为此,我使用php发送了一些标题: Content-Type: text/html; charset=UTF-8 HTTP/1.1 200 custom status message in utf-8 但在Chrome开发者工具中,我看到的状态信息编码错误,例如status code:200ÐÐÐñ!ЧÐо-о。是否可以修复此问题?您刚才在下面的行中使
HTTP/1.1200 OK
更改为HTTP/1.1200自定义状态消息。为此,我使用php发送了一些标题:
Content-Type: text/html; charset=UTF-8
HTTP/1.1 200 custom status message in utf-8
但在Chrome开发者工具中,我看到的状态信息编码错误,例如status code:200ÐÐÐñ!ЧÐо-о
。是否可以修复此问题?您刚才在下面的行中使用来更改HTTP标头状态代码和消息
$msg = "custom status message";
header("Status: 200");
header("HTTP/1.1 200 ".$msg);
(a) 编码未定义,因此不值得尝试非ASCII,此外,(b)原因短语在HTTP/2中不再存在。Ok,编码在Content type header中定义。那么,我能在其他语言中使用我自己的短语吗(不同于英语)?如果不是,您能解释一下原因吗?不,内容类型定义了HTTP消息的有效负载,而不是头中的任何内容。我无法解释为什么它没有定义,但事实上是这样。这个答案目前遗漏了这些陈述的来源。最好能参考规范的相关部分。我指的是语言状态信息,不同于英语(例如希腊语或俄语)。