在回复标题中返回不同的文本是否有效?
例如,如果请求无效,我可以用以下方式响应吗?
HTTP/1.1 400 Here be Dragons
并且该头是否由代理等正确处理?
是的,响应行上有任意文本符合HTTP协议。不,代理不需要按原样转发(但通常会转发)。
这个 HTTP spec 说:
状态代码供automata使用,原因短语供人类用户使用。客户机不需要检查或显示原因短语。
以及:
这里列出的短语只是建议——它们可能会被本地等价物替换,而不会影响协议。
所以是的,使用任何你想要的文本作为原因短语,也就是“状态文本”或“状态名称”是有效的。