是的,肯定是错了。在
您应该有“\r\n”,但如果您将脚本用作CGI,则不必担心这一点。在
您只能使用“\n”,一切都将正常工作。在
另外,我不认为Apache会让您选择要使用的协议,因此您不应该使用第一行:print "HTTP/1.0 200 OK"200“确定”是一个状态,在成功后将返回该状态
如果确实需要更改状态,请使用status HTTP header,Apache将对此进行调整:
打印“状态:400禁止”
你的脚本应该是:
^{pr2}$
请注意,我只在最后一个头上使用了“\n”,其他地方都没有。在
这是因为print会自动添加“\n”,除非您另有说明,但最后一个页眉必须用两个新行“\r\n\r\n”与文档正文分开,这就是为什么您应该只在最后一个页眉上使用它。它表示标头的结尾。在
或者您可以:print "Content-Type: text/html"
不带参数的Print将只打印“\n”,正如我之前所说,Apache将正确地将它们解释为“\r\n”
在你的例子中,你的标题看起来像这样:"""
HTTP/1.0 200 OK
\rContent-Type: text/html
\r
\r
"""
这显然是个错误的标题。:天
如果不使用脚本作为CGI,则规则可能有所不同,但只是略有不同。在
如果必须强制执行HTTP/1.0行为,请使用头连接头:print "Connection: close"
尽管连接是否会被关闭取决于客户端和Apache的超时。我不确定协议是否会改为HTTP1.0。默认值为1.1