gpt4 book ai didi

http - 来自脚本的格式错误的 header 。错误 header =HTTP/1.1 302 找到

转载 作者:可可西里 更新时间:2023-11-01 15:17:26 36 4
gpt4 key购买 nike

我有一个 C++ 程序作为 CGI 脚本,我目前正在使用 Cgicc 为我做一些解析和格式化(尽管它可能会在某个时候被替换)。在构建我的响应时,我使用 cgicc::HttpResponseHeader,这将创建类似

的内容
HTTP/1.1 302 Found
Location: www.bla.com

这对我来说看起来很标准。但是,网络服务器对此感到窒息,给了我一个

<...> malformed header from script. Bad header=HTTP/1.1 302 Found: script.cgi

我找到了解决这个问题的方法:

  1. 删除 HTTP/...
  2. 改为添加一行 Status: 302 Found

事实上,这正是 cgicc::HttpRedirectHeader 所做的。我现在有两个问题:

  1. 这行 HTTP/1.1 302 Found 不是标准的吗?
  2. 如果不是,为什么 cgicc::HttpResponseHeader 这样做?如果是,为什么我的网络服务器会阻塞?

请注意,我不是在寻找解决这个问题的方法,我知道该怎么做。我只是想了解发生了什么。

干杯奥莱

最佳答案

HTTP 行是标准的 HTTP,但不是标准的 CGI。

在 CGI 下,脚本使用 Status header 将状态传回 Web 服务器,Web 服务器根据该状态代码构造 HTTP 响应行。

为什么 cgicc 正在构造我不知道的 HTTP 行 - 是否有可能您不应该在该上下文中使用该特定类?也许该类仅用于 nph 脚本? The documentation确实有点暗示 - 在描述了一组标准响应类之后,它说:

cgicc::HTTPResponseHeader 是一个更强大的通用 HTTP header 类,用于构建完整的 HTTP 响应。

这意味着在普通的 CGI 脚本中使用它是不寻常的。

关于http - 来自脚本的格式错误的 header 。错误 header =HTTP/1.1 302 找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11223166/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com